利用者:Sobotka/Color Management/Path To Colour Aware

提供: wiki
移動先: 案内検索

Plan for 2.8 Colour Awareness

The path for Blender 2.8 to colour awareness can be achieved in simple, discrete steps. This document attempts to outline a developer-centric view of how to get to a much more robust and stable system.

Folks that are familiar with Filmic should be able to follow along half of the concepts readily. The concepts behind colour primaries for displays and reference spaces might benefit from reading this piece on colour primaries.

Step One: Make Cycles Fully Colour Aware

This requires making Cycles leverage and respect the colour transform tags by the user. This patch by Lukas Stockner is required. The patch:

  • Makes Cycles honour the colour transform selected. Currently Cycles ignores all colour transforms on buffers.
  • Fixes Wavelength, Black Body, Sky and some other areas with hard coded REC.709 assumed lights.

Step Two: Add a Means for Full Transformations as Required

This requires a means for users to transform from one colour space to another within the confines of Blender.

Step Two: First Step

The shortest term solution here is an OCIO node for the compositor. With careful handling, this can achieve everything.

Step Two: Proper Step

A longer term goal would be a proper output transform stack in an "Advanced" area.

An example of the Advanced transform selection UI element.

By default, various file formats would leverage the built-in OCIO roles to set a transform via the configuration. Advanced uses would be able to override the stack and insert their own transforms. This would also require the removal of the "View as Render" option and properly locate it within the output transformation chain. This will also solve colour critical profiling etc. and keep Blender open for OpenColorIO V2.0, which will bring many new capabilities.

Step Three: Colour Manage the UI

This includes asserting that all of the UI is colour managed. Passive UI reasons:

  • Icons will look entirely broken when they are designed for REC.709 lights, such as sRGB icons. Technicolour dreamcoat UI that is both hyper saturated and entirely the wrong colours as intended is sub optimal. This will also solve Blender's issues on modern Apple equipment.
  • Peak display referred "white" in a theme can look fine on a typical sRGB 100 nit display, but absolutely brutal on an HDR display at 1500 nits.

User interactive UI:

  • All UI elements need to be as close to WYSIWYG with respect to the reference space. This means colour pickers, gradients, etc. all need to be properly managed for references that are different from the input and output contexts.
  • Manage the elements to afford users the proper control of their data. As an example, consider this examination of the issue with regards to Curves. Users will frequently flip from various colour / data needs, and as such this needs to be arbitrary and selection based.