This only affects Cycles standalone, as Blender does not use the auto
colorspace. The matrix multiplication order was inverted and decoding
from sRGB was not implemented properly.
Issue introduced in ca4458f6ea.
Pull Request: https://projects.blender.org/blender/blender/pulls/164212
This mainly affected precision and performance, as far as I can tell
there was no significant impact on e.g. the texture cache or OSL.
Now Cycles uses the same matrix as Blender (transposed), which was
created from dumping the OpenColorIO matrix so it matches exactly.
Thanks to Sergey for finding this.
Pull Request: https://projects.blender.org/blender/blender/pulls/164197
Add core mechanism for switching the active OpenColorIO configuration at
runtime. This will make it possible to add a per project config.
The main difficulty is that ImBuf stores raw ColorSpace pointers
into the active configuration's color space objects. Scene datablocks
store color space names and can be re-resolved, but some data structures
(icons, previews, thumbnails, brush textures) outlive blend files.
The solution is to switch the configuration in-place, and retain color
spaces from previous configs but hide them in the UI.
Ref #163048
Pull Request: https://projects.blender.org/blender/blender/pulls/162196
It's not really possible in practice for OpenColorIO configs to switch
mid render, but better not to return a reference to something that is
mutex protected.
This issue was introduced in 5d2b8f8a52.
Pull Request: https://projects.blender.org/blender/blender/pulls/159666
Either use no spaces (common for disabled arguments) `/*arg*/`
or spaces `/* Regular comment. */`
Cleanup lop-sided comments such as `/* X*/` or `/*X */`.
Also use doxy-sections for bmesh_structure.hh,
the ad-hoc section comments had become outdated.
Ref !158467
This will be replaced by the texture cache. Advanced OpenImageIO features
will no longer be available, and texture filtering results will be different.
But performance will be better and there will be consistency with SVM.
OSL specifc image tests were removed as these now match SVM exactly and are
tested by WITH_CYCLES_TEST_OSL.
Pull Request: https://projects.blender.org/blender/blender/pulls/154913
For Blender integration we get the colorspace from Blender and this code is not
used. But for standalone this now makes use of interop ID and roles in recent
OpenImageIO and OpenColorIO versions, and fixes some bad guesses.
Pull Request: https://projects.blender.org/blender/blender/pulls/154050
It would work correctly when rendering the first time, but when rendering
again after changing the workspace it would be wrong.
The code from efc8970015 got lost when merging into the cycles-tx branch,
this just restores it.
Pull Request: https://projects.blender.org/blender/blender/pulls/153565
* Move code into util/ module to be reused by tx generator.
* Move logic from ShaderManager into colorspace.cpp.
* Improve naming distinction between scene linear and data, and sRGB and
scene linear compressed as sRGB.
* Use interop ID instead of enum for known scene linear color spaces.
* Support colorspace conversion on image buffers with arbitrary y stride.
Pull Request: https://projects.blender.org/blender/blender/pulls/152665