OCIO · config_v3.ocioROLE · scene_linearDISPLAY · sRGB / DCI-P3 / Rec.709
Rozdział 12 / Wymiana danych

Kolor w pipeline: OpenColorIO i ACES od kuchni

Ten sam plik tekstury musi wyglądać identycznie w Mayi, Nuke i na sali projekcyjnej — to zadanie jednego configu, nie trzech osobnych ustawień.

TL;DR

Tekstura, którą teksturzysta widzi w Mayi, artysta FX ładuje w Houdinim, a kompozytor otwiera w Nuke, powinna wyglądać wszędzie tak samo — a bez żadnej koordynacji nie wygląda. Każdy z tych programów ma inne domyślne założenia o tym, jak interpretować wartości pikseli: czy plik jest zapisany w przestrzeni sRGB, czy liniowo, czy w logarytmicznym kodowaniu kamery filmowej. Bez wspólnego mechanizmu każdy program zgaduje inaczej, a „ten sam" kolor zmienia się w zależności od tego, gdzie akurat na niego patrzysz.

Etap: Jeden config, wiele narzędzi

OpenColorIO jako wspólne źródło prawdy

OpenColorIO (OCIO) to otwarta biblioteka i format konfiguracji, który definiuje nazwane przestrzenie kolorów oraz dokładne transformacje matematyczne między nimi — i robi to raz, w jednym pliku, do którego odwołuje się każde narzędzie w studiu: Maya, Houdini, Nuke, Katana, przeglądarki takie jak RV, a nawet render farma. To dokładnie ta sama logika, co konwencja nazewnictwa z Rozdziału 4 — zamiast każdego artysty i każdego narzędzia interpretującego kolor po swojemu, istnieje jeden, sztywny wzorzec, który wszyscy odpytują.

Zamiast każdego artysty wybierającego przestrzeń kolorów po dokładnej nazwie, OCIO wprowadza role — etykiety opisujące przeznaczenie, nie konkretny standard: scene_linear (przestrzeń, w której powinno się liczyć oświetlenie), color_picking (przestrzeń, w której wygodnie dobiera się kolor na oko), default (domyślna interpretacja nowego pliku). Narzędzie pyta o rolę, nie o nazwę — dzięki temu dwie różne produkcje mogą mieć zupełnie różne configi, z inaczej nazwanymi przestrzeniami kolorów, a te same przyciski w interfejsie Mayi wciąż będą robić to, co powinny.

OCIO.configJeden plik, spójny wygląd wszędzie
config.ocio jeden plik, cały show Maya — viewport Nuke — comp Render farma Sala projekcyjna
Każde narzędzie odpytuje ten sam config — inny display transform na końcu, ta sama matematyka u źródła.
Etap: ACES — ten sam pomysł między studiami

Kiedy wspólny język potrzebny jest nie tylko w jednym budynku

OCIO rozwiązuje spójność kolorów w obrębie jednego studia. ACES (Academy Color Encoding System) rozwiązuje ten sam problem o poziom wyżej — między studiami, kamerami i vendorami. To ustandaryzowany przez Akademię Filmową zestaw przestrzeni kolorów i transformacji, zaprojektowany tak, żeby materiał z dowolnej kamery filmowej i render z dowolnego studia dało się połączyć bez niespodzianek, a finalny obraz przenieść między kinem, telewizją HDR i internetem bez ręcznego przeliczania za każdym razem od nowa. W praktyce ACES bywa dostarczany właśnie jako gotowy config OCIO — konkretny, w pełni wypełniony wzorzec tego, co w poprzedniej sekcji było ogólnym mechanizmem. Jeśli interesuje Cię matematyka stojąca za samym ACES — przestrzenie AP0/AP1, RRT i ODT — pełny wykład na ten temat prowadzi osobna książka tego autora o ray tracingu; tutaj w Dodatku D skupiamy się na architekturze samego configu, nie na radiometrii, którą opisuje.

Etap: Dystrybucja configu

Jeden plik, ta sama wersja na każdej maszynie

Config OCIO trafia do każdej stacji roboczej i każdego węzła render farmy dokładnie tym samym mechanizmem, co pinowanie wersji narzędzi z Rozdziału 9 — jako część środowiska, które Rozdział 17 opisze szczegółowo, zwykle wskazywana przez zmienną środowiskową w rodzaju OCIO, ustawianą automatycznie przy starcie każdej aplikacji. Zmiana configu w połowie produkcji to poważna decyzja — może subtelnie przesunąć wygląd każdego już zatwierdzonego shotu — dlatego config, tak jak kod pipeline'u, bywa wersjonowany i przypinany do konkretnego showu, nie aktualizowany swobodnie w dowolnym momencie.

Słowniczek
Colorspace (przestrzeń kolorów)
Konkretny sposób interpretacji wartości liczbowych piksela jako koloru.
OpenColorIO (OCIO)
Otwarta biblioteka i format configu definiujący wspólne przestrzenie kolorów dla całego pipeline'u.
Role
Etykieta opisująca przeznaczenie przestrzeni kolorów (np. scene_linear), niezależna od jej dokładnej nazwy.
Display transform
Ostateczne przekształcenie obrazu pod konkretny ekran lub projektor odbiorcy.
ACES
Ustandaryzowany przez Akademię Filmową schemat przestrzeni kolorów do wymiany materiału między studiami.