mirror of
https://github.com/stevenrobertson/cuburn.git
synced 2025-02-05 11:40:04 -05:00
closes 11 - all black pixels with non-zero density were not being handled properly.
This commit is contained in:
parent
981de94be5
commit
addad052b1
@ -5,7 +5,7 @@ class ColorClip(HunkOCode):
|
||||
def __init__(self, features):
|
||||
self.defs = self.defs_tmpl.substitute(features=features)
|
||||
|
||||
defs_tmpl = Template("""
|
||||
defs_tmpl = Template('''
|
||||
__global__
|
||||
void colorclip(float4 *pixbuf, float gamma, float vibrancy, float highpow,
|
||||
float linrange, float lingam, float3 bkgd) {
|
||||
@ -14,6 +14,11 @@ void colorclip(float4 *pixbuf, float gamma, float vibrancy, float highpow,
|
||||
int i = blockDim.x * blockIdx.x + threadIdx.x;
|
||||
float4 pix = pixbuf[i];
|
||||
|
||||
if (i == 58905) {
|
||||
printf("pix = %f %f %f %f\\n",pix.w,pix.x,pix.y,pix.z);
|
||||
}
|
||||
|
||||
|
||||
if (pix.w <= 0) {
|
||||
pixbuf[i] = make_float4(bkgd.x, bkgd.y, bkgd.z, 0);
|
||||
return;
|
||||
@ -28,6 +33,12 @@ void colorclip(float4 *pixbuf, float gamma, float vibrancy, float highpow,
|
||||
}
|
||||
|
||||
float ls = vibrancy * alpha / pix.w;
|
||||
|
||||
if (i == 58905) {
|
||||
printf("alpha = %f, ls = %f\\n",alpha, ls);
|
||||
}
|
||||
|
||||
|
||||
alpha = fminf(1.0f, fmaxf(0.0f, alpha));
|
||||
|
||||
float maxc = fmaxf(pix.x, fmaxf(pix.y, pix.z));
|
||||
@ -50,11 +61,13 @@ void colorclip(float4 *pixbuf, float gamma, float vibrancy, float highpow,
|
||||
} else {
|
||||
float adjhlp = -highpow;
|
||||
if (adjhlp > 1.0f || maxa <= 1.0f) adjhlp = 1.0f;
|
||||
if (maxc > 0.0f) {
|
||||
float adj = ((1.0f - adjhlp) * newls + adjhlp * ls);
|
||||
pix.x *= adj;
|
||||
pix.y *= adj;
|
||||
pix.z *= adj;
|
||||
}
|
||||
}
|
||||
|
||||
pix.x += (1.0f - vibrancy) * powf(opix.x, gamma);
|
||||
pix.y += (1.0f - vibrancy) * powf(opix.y, gamma);
|
||||
@ -79,7 +92,7 @@ void colorclip(float4 *pixbuf, float gamma, float vibrancy, float highpow,
|
||||
|
||||
pixbuf[i] = pix;
|
||||
}
|
||||
""")
|
||||
''')
|
||||
|
||||
class DensityEst(HunkOCode):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user