- Remove unused color space and LUTs/matrices
There were couple of spaces for specific cameras which are unlikely
be used by general blender users. Think better to keep this things
as clean as possible for official builds, it could easily be extended
for some specific pipeline.
- Move rec709 view to it's own display. Such way makes more sense.
Probably it'll actually make sense to remove p3dci and rec709
displays from default configuration. Not sure how often such a
displays are used by blender users.
XYZ display could still be useful to help generating DCP.
- Reshuffled views a bit. Added Default view to most of displays which
is default sRGB transformation for sRGB display, ACES -> CIE XYZ for
XYZ display.
Should make things a bit clearer for understanding.
This view is currently called DCI and it implements the same conversion
into xyz space as OpenDCP does.
This is aimed to be used for Jpeg2K in xyz space generation used for DCP
creation directly from Blender.
- Move color management settings to scene, so it's now clear for
all areas (such as compositor, sequencer) which settings to
use for display buffers
- Currently removed per-editor color management settings. It could
be nice to have them, but they don't fit nicely into overall
pipeline and could be added as a override settings for display
only later.
- Make sequencer working in space defined by sequencer_workspace
role in OCIO configuration file.
If this role is not set, sequencer will fallback to legacy sRGB
Gamma 2.2 space.
Currently use vd16 color space for sequencer. Not sure what exactly
this color space is, but it's pretty close to SPI Film view and
it's still invertable.
- Sequencer will now output linear float buffers, not color managed
float buffers.
Before this sequencer used to output float buffers in sRGB space,
which was sequencer's working space. Now it can not output buffers
in this space since other areas are not aware of this space.
This also makes it's consistent that all float buffers in Blender
are in linear space.
- When saving render result into byte file format scene's display
transform would be applied on this buffer.
When saving files from image editor, there'll be a display
transform settings which are default set to scene's settings but
could also be overwritten.
Additional details are there (would be extended soon):
http://wiki.blender.org/index.php/User:Nazg-gul/ColorManagement
made some changes to startup.c
- change default player to internal since its working now.
- added new screen for full screen 3d viewport (nice for demo's and navigating)
- disable cursor depth option (was enabled by default because of re-used flag)
- Minor style cleanup
- Made scene linear space rec709 instead of aces
Reference space is still aces
- Get rid of hardcoded rec -. rec709 transformation on view transforms
This would make view transform be applied on a reference color space
how it's supposed to be.
Since scene linear is rec709 such a hardcoded transform isn't needed
anymore.
This also fixes wrong Log view transform which used to look really
weird and now it's nice and smooth.
- Also made changes to SPI and Nuke configurations to make them behave
properly with reference space of aces.
- Renamed Nuke's rec709 space to nuke_rec709. Probably it could be
replaced with scene rec709, but that's requires more investigation.
- Added some extra view transforms to play with. It's not absolutely
correct in terms this views were changed to use aces space as input.
This gives exactly the same result as if using stand-alone spi-vfx
and nuke-default configuration, but for real merge of this configs
it'll be needed to add extra input spaces and transformations between
them.
- Replaced hard-coded aces input color space with default ocio
linear space which makes it easier to play with different
configurations.
- Fixed SCons installation of color management configuration which
used to skip copying LUTs when there was "luts" folder in install
destination.
- Print whether OCIO was enabled when building with CMake.
Could be helpful due to OCIO is being automatically disabled
if needed libraries are missed.
- Fixed memory leak caused by incorrect handling of cached buffer
in cases if it was marked as dirty
- Do not use 3D LUT for RRT -- they can't be easily baked into 3D
LUT without being clamped to 0..1 space
- Make sure blender compiles without OCIO support
- Made color management cache safe for situations when one area
requested a display buffer, then some changes were done which
invalidated cache, other area requested display buffer which
changed cached buffer.
Suck case could be fatal for first used of display buffer,
which didn't happen yet because cache is being accessed from
main thread only, but better to keep this things completely
thread save to avoid headache in the future.
- Baked RRT transformations, which gives ~3-4 times boost
hopefully without visible artifacts.
- Added support of partial updates to display buffers.
This would create special context which hols display buffer
which imbuf had to the time of creating this context and
later this context would allow to run a color correction
from given linear buffer within given region.
This is being used by compositor to enable more realtime
display update when compositing.
- Added support of color management backdrop for nodes editor.
There's now special menu called display properties in N-panel
of nodes editor.
Probably this better be de-duplicated somehow, but not sure
yet how. Currently it's not so harmful to have panel for two
spaces which contains only 2 properties.
There's currently one unsolved issue with backdrop:
it's not being updated progressively when just loading the
file -- it's simply because there's no color managed display
buffer for backdrop yet, and compositor doesn't actually
know which color space to use here to generate preview to.
This commit simply adds view transform option for image editor. This transform
is being applied on original linear color when float buffer is being converted
into sRGB byte buffer.
Currently supports such transformations:
- ACES ODT ToneCurve transform which shall preserve color ranges on such
a conversion.
- OCIO Raw, Log and RRT view transforms
This commit also contains integration of OCIO backends to Blender, so
now there's c-api and configuration file. Most of things were got from
branch where Xavier Thomas and Lukas Toene were working.
NOTE:
This is just for testing our pipeline, please do not bother me with messages
it's done wrong. It is done correct to support our own pipeline for now, and
real design would be created later when current stoppers for the project are
gone.
Most of the tool code was already in place, only significant
functionality change is that anchored stroke works now.
TODO:
* Gave it a new icon, but could use a better one
* Default .blend should have a clay strips brush
Somewhere in the process of generating that Frankenstein font, most latin capital glyphs lost there "modifier" part (umlaut, accent, etc.). I added them again using fontforge auto tool, but not to all of them though, as some would add a shift to the whole font... :/
This is not a nice fix (the correct way would be to merge again the whole latin part of dejavu into blender font, but again, I couldn’t manage to do it without an ugly global font shift), but at least it works, doesn’t shift the font, and add back most modified capitals.