Page MenuHome

Cycles: sRGB texture compression happens after interpolation
Open, Confirmed, MediumPublic


Blender Version
Broken: 2.81

Cycles does sRGB->linear texture conversion after texture interpolation instead of before. This leads to incorrect results.

Example scene is attached. Two squares with a fine checkerboard texture, one with linear interpolation, the other with closest interpolation.

Expected result: Both textures should render to an identical shade of gray. When switching the texture color space to "linear" instead of "sRGB", the result should not change as the texture contains only pure black and white pixels.
Actual result: The textures show different shades of gray. Switching the color space changes the result.



Event Timeline

Stefan Werner (swerner) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.

This is a known issue, but would be good to fix it.

If we do it before interpolation we should probably use a lookup table for 8 bit values, since this can get relatively expensive. I'm also not sure this is possible with the current OIIO texture cache.

I’m working on a fix right now, we’ll see what the performance impact is.