利用者:Sobotka/Sandbox

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

Q: I'm interested in all of this. Is there anything I can do to begin experimenting with color management in Blender?

Yes.

The purchase of a relatively inexpensive colorimeter can be a first step to wrapping one's head around color management. There are several inexpensive devices that can be purchased to begin this journey. There is even an open source hardware colorimeter available now[1].

Further, if you compile Lukas Tonne's OCIO branch, you can begin to muck with the Mango team's work and experiment with how color management works in a system.

The Blender team has offered some Mango stills for use. You should be able to display and convert them to various formats using two tools from the OCIO package.

Q: I have a colorimeter. How do I use it effectively?

<TO BE EXPANDED SOON> A colorimeter provides a means to read known values from a display. These values are then used to calculate how a display responds. Calibration and profiling are two unique phases, each with different goals. It is critically important that a display will be calibrated and profiled for a known target. There is no one-size-fits-all approach.

Q: What is calibration?

Calibration is a technique that uses a hardware colorimeter to get a display into a known state. Often hardware monitor controls are used to get the display as close to the target state as possible. After calibration completes, the data is collected and a display calibration file is created. This file must be loaded by the system to assert that subsequent color transformations are accurate.

Q: What is profiling?

Profiling is the measurement of color swatches on the screen much like calibration. However, the data is used to generate a response profile for a given display. This profiles is needed to correctly transform from a given color space to the display's response. Calibration alone is not accurate enough to complete a transformation.

Q: Great. How do I set up the Lukas Tonne Blender to work with the Mango team's EXR stills?

The footage the team shot is being converted to an ACES color space that is stored in the EXR file format. In order to correctly view it, you will need to configure the Lukas Tonne OCIO Blender (LTOB hereafter) to get the correct LUTs into the correct directories.

What do I need to download and compile?

  1. Download and compile the LTOB from the links at the bottom. You will need to understand how to compile, which is something beyond the scope of this document.
  2. Download the OpenColorIO-Configs branch. We will be using this to get the ACES LUTs.
  3. Download some sample EXRs from the team's blog.

Done. How do I set up the color management configuration directory in LTOB?

The default ACES LUTs will be used here, as the footage has been exported in the ACES color space. In particular, we need the path to the "aces" directory in the OpenColorIO-Configs directory copied over to the LTOB build directory. The full path to the correct place to copy the entire ACES directory (OpenColorIO-Configs/aces) to is ./bin/2.63/datafiles/colormanagement/. Note that you can remove everything under the colormanagement directory in the default build and replace it, in its entirety, with the entire contents of the OpenColorIO-Configs/aces directory.

The terminal commands on a *nix-like environment might look like:

rm -rf /path/to/LTOB-build/bin/2.63/datafiles/colormanagement/*
cp -r /path/to/OpenColorIO-Configs/aces/* /path/to/LTOB-build/bin/2.63/datafiles/colormanagement/
rm /path/to/LTOB-build/bin/2.63/datafiles/colormanagement/config.ocio
mv /path/to/LTOB-build/bin/2.63/datafiles/colormanagement/config_1_0_3.ocio /path/to/LTOB-build/bin/2.63/datafiles/colormanagement/

Once you have done this, remove the config.ocio from the colormanagement Blender directory and rename the config_1_0_3.ocio to config.ocio within it. You are now set to go.

How do I set up Blender to view one of the EXRs correctly?

All of the data for the various LUT transforms is now within the colormanagement directory in our build. We can start Blender and change our color transforms as needed. Using a default directory as detailed above, the following steps will guide you through it.

Step 1: Select the display context

This is based on a default given using the ACES directory within OCIO. You should select "sRGB".

Srgb.jpg

Step 2: Select the destination space transform

As stated, the source EXR images are stored in an ACES color space. To properly view them on an sRGB calibrated monitor, you must use the RRT setting. The RRT is an acronym for Reference Render Transform. It is a combination of the officially generated RRT and an officially generated ACES to sRGB transformation.

Rrt-srgb.jpg

Technical Mumbo Jumbo Details and Specifics

Prerequisites

At a bare minimum, the following libraries and applications will be required:

  1. OpenColorIO (OCIO)
  2. OpenImageIO (OIIO)
  3. Lukas Tonne's OCIO Blender branch

Q: What is OpenColorIO?

OpenColorIO is a library started by Sony Picture Imageworks (SPI). It permits processing, manipulation,and viewing using industry standard LUTs. http://opensource.imageworks.com/?p=opencolorio

Q: What is OpenImageIO?

OpenImageIO is an industry grade image loading library offered by SPI.

Q: What is Lukas Tonne's OCIO Blender Branch?

Lukas Tonne is the Blendebribty responsible for many of the amazing node features in the compositor. He has ported Xavier Thomas' original OCIO patches to the newest and most current Blender version.

Q: Where are the sources?

OCIO Source

https://github.com/imageworks/OpenColorIO

OCIO Config LUTs

You will require these if you intend to work with Mango footage that has been processed into the ACES color space. The "aces" subdirectory contains all of the needed LUTs and configuration. If you compiled a current version of OCIO, you can use the "config_1_0_3.ocio" by renaming it to config.ocio. The newer version uses more accurate tetrahedral transformations. https://github.com/imageworks/OpenColorIO-Configs

OIIO source

https://github.com/OpenImageIO/oiio

OCIO / OIIO Cyclical Dependency

OCIO and OIIO offer a few valuable tools for conversion between formats. In addition to this, if they are compiled against each other, color aware manipulations are possible. It is a cyclical dependency, and as such, either OIIO or OCIO will need to be compiled twice.

Lukas Tonne's Current Blender OCIO Branch

https://gitorious.org/~lukastoenne/blenderprojects/blender-lukastoenne

Xavier Thomas' Older OCIO Branch Source

This is depreciated and not required. It is provided here for reference only. https://github.com/thmxv/blender-ocio

Useful Tools in OCIO

/src/apps/ociodisplay/ociodisplay

Used to display an image. Exposure, gamma, and channel views are also possible. Right mouse button allows one to access and change the input, transform, and output space, based on the $OCIO variable listed above.

/src/apps/ocioconvert/ocioconvert

Used to create color aware transformations between spaces listed in the config.ocio above.

ocioconvert input.dpx inputcolorspace output.foo outputcolorspace

/src/apps/ociobakelut/ociobakelut

Used to convert between LUTs. Also possible to generate a LUT from an ICC for spaces such as AdobeRGB or display profile conversion.