Управління Кольором – Color Management

Color management is important to create renders and assets that are physically accurate and look great on multiple display devices. It is used both to ensure all parts of the pipeline interpret colors correctly, and to make artistic changes like exposure and color grading.

../_images/render_color-management_different-exposures.jpg

Різні огляди та експозиції одного і того ж рендера.

Blender’s color management is based on the OpenColorIO library. By using the same OpenColorIO configuration in multiple applications, the same color spaces and transforms will be available for consistent results.

Workflow

Лінеарний колірний простір сцени – Scene Linear Color Space

For correct results, different color spaces are needed for rendering, display and storage of images. Rendering and compositing is best done in scene linear color space, which corresponds more closely to nature, and makes computations more physically accurate.

../_images/render_color-management_linear-workflow.svg

Приклад лінеарного ходу роботи.

If the colors are linear, it means that if in reality, we double the number of photons, the color values are also doubled. Put another way, if we have two photos/renders each with one of two lights on, and add those images together, the result would be the same as a render/photo with both lights on. It follows that such a radiometrically linear space is best for photorealistic rendering and compositing.

However, these values do not directly correspond to human perception or the way display devices work. and image files are often stored in different color spaces. So we have to take care to do the right conversion into and out of this scene linear color space.

Display Transforms

Transforming scene linear colors to display involves both technical and artistic choices.

Correct display of renders requires a conversion to the display device color space. A computer monitor works differently from a digital cinema projector or HDTV, and so needs a different conversion.

There is also an artistic choice to be made. Partially that is because display devices cannot display the full spectrum of colors and only have limited brightness, so we can squeeze the colors to fit in the gamut of the device. Besides that, it can also be useful to give the renders a particular look, e.g. as if they have been printed on real camera film. The default Filmic transform does this.

../_images/render_color-management_linear-display-space.svg

Конвертування з лінеарного у простір пристрою показу.

Image Color Spaces

When loading and saving media formats it is important to have color management in mind. File formats such as PNG or JPEG will typically store colors in a color space ready for display, not in a linear space. When they are used as textures in renders, they need to be converted to linear first, and when saving renders for display on the web, they also need to be converted to a display space.

For intermediate files in production, it is recommended to use OpenEXR files. These are always stored in scene linear color spaces, without any data loss. That makes them suitable to store renders that can later be composited, color graded and converted to different output formats.

Images can also contain data that is not actually a color. For example normal or displacement maps merely contain vectors and offsets. Such images should be marked as Non-Color Data so that no color space conversion happens on them.

Устави – Settings

Орієнтир – Reference

Panel:Properties editor ‣ Render ‣ Color Management
../_images/render_post-process_color-management_panel.png

Render settings for color management.

Показ – Display

Пристрій Показу – Display Device

Пристрій, на якому переглядається зображення.

Більшість комп’ютерних моніторів сконфігуровані для колірного простору sRGB, і тому при роботі на комп’ютері зазвичай ця стандартна опція повинна залишатися без змін. Типово вона може бути змінена при перегляді зображення на іншому пристрої показу, під’єднаному до комп’ютера, або при записі у файли зображень, призначені для показу на іншому пристрої.

Rec709 зазвичай використовується для HDTV, тоді як XYZ та DCI-P3 є поширеними для цифрових проекторів.

Управління кольором може бути вимкнене, установленням цієї опції на «Нема» – None.

Зображ – Render

Огляд – View

Це різні способи перегляду зображення на одному і тому ж пристрої показу.

Standard
Does no extra conversion besides the conversion for the display device. Often used for non-photorealistic results or video editing where a specific look is already baked into the input video.
Filmic
For photorealistic results and better handling of high dynamic range colors. The contrast can be adjusted by changing the Look option for the Filmic view transform.
Filmic Log
Converts to Filmic log color space. This can be used for export to color grading applications, or to inspect the image by flattening out very dark and light areas.
Сире – Raw
Призначене для перевірки зображення, а не для фінального експорту. Сире дає зображення без будь-якого конвертування колірного простору.
False Color
Shows a heat map of image intensities, to visualize the dynamic range.
Експозиція – Exposure
Used to control the image brightness (in stops) applied before color space conversion. It is calculated as follows: \(output\_value = render\_value × 2^{(exposure)}\)
Гамма – Gamma
Extra gamma correction applied after color space conversion. Note that the default display transforms already perform the appropriate conversion, so this mainly acts as an additional effect for artistic tweaks.
Вигляд – Look
Дає на вибір художній ефект з набору виміряних даних відповідних плівці, які грубо імітують вигляд зображення з певних типів плівки. Застосовується перед перетворенням колірного простору.
Вжити Криві – Use Curves
Дає змогу застосувати криві RGB для коригування кольорами зображення перед конвертуванням колірного простору. Читайте детальніше про це тут – Віджет Кривої – Curve Widget.

Відеорядник – Sequencer

Колірний Простір – Color Space
Колірний простір, в якому оперує Редактор Відеорядів. Стандартно, Відеорядник оперує у просторі sRGB, але він може також бути установлений для роботи у Лінеарному просторі, як вузли Компонування, або в іншому колірному просторі. Різні колірні простори будуть давати різні результати для корекції кольору, переходів та інших операцій.

Файли Зображень – Image Files

When working with image files, the default color space is usually the right one. If this is not the case, the color space of the image file can be configured in the image settings. A common situation where manual changes are needed is when working with or baking normal maps or displacement maps, for example. Such maps do not actually store colors, just data encoded as colors. Those images should be marked as Non-Color Data.

Блоки даних зображення завжди зберігають дійсночислові буфери у пам’яті у лінеарному колірному просторі сцени, тоді як байтовий буфер у пам’яті та файли на диску зберігаються у колірному просторі, визначеному такою уставою:

Колірний Простір – Color Space
Колірний простір зображення файлу на диску. Це залежить від формату файлу, наприклад, зображення PNG або JPEG часто зберігаються у sRGB, тоді як OpenEXR зберігаються у лінеарному колірному просторі. Деякі зображення, такі як карти нормалей, вигинів та трафарету суворо не містять «кольорів, і для таких значень ніколи не повинно бути застосоване жодне конвертування колірного простору. Для таких зображень колірний простір повинен бути установлений на None.

Стандартно, тільки рендери показуються та зберігаються із застосованими трансформаціями огляду. Ними є Результат Зобража – Render Result та блоки даних зображення Оглядача – Viewer, а ці файли зберігаються прямо на диск оператором рендерингу анімації Render Animation. Однак, при завантаженні рендера, збереженого у проміжний файл OpenEXR, Blender не визначає автоматично, що це є рендер (це може бути, наприклад, текстура зображення або карта зміщення). Ми повинні вказувати, що це є рендер і те, що ми хочемо, щоб застосовувалися трансформації, за допомогою таких двох устав:

Огляд як Зображ – View as Render
Показує блок даних зображення (не тільки рендерів) із застосованими трансформуваннями огляду, експозицією, гаммою, кривими RGB. Корисно для перегляду рендерених кадрів у лінеарних файлах OpenEXR так само, як при рендерингу їх безпосередньо.
Зберегти Як Зображ – Save As Render
Опція в операторі збереження зображення для застосування трансформувань огляду, експозиції, гамми, кривих RGB. Це корисно для збереження лінеарних OpenEXR у, наприклад, файли PNG чи JPEG у просторі показу.

Конфігурація OpenColorIO

Blender поставляється зі стандартною конфігурацією OpenColorIO, що містить ряд корисний пристроїв показу та трансформацій огляду. Використовуваним орієнтувальним лінеарним колірним простором – color space є лінеарний колірних простір з хроматичностями Rec. 709 та точкою білого D65.

Однак, OpenColorIO було також розроблено, щоб забезпечити послідовну взаємодію користувача з кількома застосунками – multiple applications, і для цього, може бути використано спільний файл конфігурації. Blender буде використовувати стандартну змінну середовища OCIO для зчитування конфігурації OpenColorIO, а не стандартну для Blender’а. Більше інформації про те, як укласти таких хід роботи, можна знайти тут – OpenColorIO website.

Blender currently use the following color space rules:

scene_linear
Колірний простір, використовуваний для рендерингу, компонування та збереження усіх зображень з дійсночисловою точністю у пам’яті.
data
Color space for non-color data.
XYZ
Standard linear XYZ color space. Used for effects such as blackbody emission to convert from physical units to the scene_linear color space.
color_picking
Defines the distribution of colors in color pickers. It is expected to be approximately perceptually linear, have the same gamut as the scene_linear color space, map 0..1 values to 0..1 values in the scene linear color space for predictable editing of material albedos.
default_sequencer
Стандартний колірний простір для Відеорядника, scene_linear – якщо не вказано.
default_byte
Стандартний колірний простір для зображень та файлів з байтовою точністю, texture_paint – якщо не вказано.
default_float
Стандартний колірний простір для зображень та файлів з дійсночисловою точністю, scene_linear – якщо не вказано.

The standard Blender configuration includes support for saving and loading images in ACES (code and documentation) color spaces. However, the ACES gamut is larger than the Rec. 709 gamut, so for best results, an ACES specific configuration file should be used. OpenColorIO provides an ACES configuration file, though it may need a few more tweaks to be usable in production.