I thought I'd crawl into the code for the "Gamma" toggle in the Blur
node now that we have a proper color management system in place.

<CODE>
float inputColor[4];
this->m_inputProgram->read(inputColor, x, y, sampler);
if (inputColor[3] > 0.0f) {
inputColor[0] /= inputColor[3];
inputColor[1] /= inputColor[3];
inputColor[2] /= inputColor[3];
}

/* check for negative to avoid nan's */
output[0] = inputColor[0] > 0.0f ? inputColor[0] * inputColor[0] : 0.0f;
output[1] = inputColor[1] > 0.0f ? inputColor[1] * inputColor[1] : 0.0f;
output[2] = inputColor[2] > 0.0f ? inputColor[2] * inputColor[2] : 0.0f;
output[3] = inputColor[3];

if (inputColor[3] > 0.0f) {
output[0] *= inputColor[3];
output[1] *= inputColor[3];
output[2] *= inputColor[3];
}
</CODE>

It strikes me that a few things are horribly incorrect here:

1) It appears as though that this node _always_ assumes that alpha is
associated, and pre-divides. This is most certainly not paying
attention to Sergey's recent alpha changes.
2) It appears that this node does a mere squaring of values, which is
problematic.
3) "Gamma" is erroneous, as it fails to address sRGB or 709 transfer
curves in an appropriate fashion, so the usefulness seems entirely
questionable.

To this end, I wonder if this toggle should be removed from the UI.
This would keep legacy files loading, and prevent artists from
mangling up their work inadvertently?

Thoughts?

With respect,
TJS
_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to