Учитель Начальной – Курс компьютерной графики (страница 4)
Пример преобразования (упрощённо):
C = 1 - R
M = 1 - G
Y = 1 - B
(затем выполняется undercolor removal и добавление K)
3.4. Модели HSV и HSL
Более удобны для человека при выборе цвета.
HSV:
- H (Hue) - тон (0-360 deg)
- S (Saturation) - насыщенность (0-1)
- V (Value) - значение/яркость (0-1)
HSL:
- H - тон
- S - насыщенность
- L - светлота
Эти модели широко используются в палитрах графических редакторов.
3.5. CIE Lab и перцепционные пространства
CIE XYZ - стандартное колориметрическое пространство.
CIE Lab - перцепционно более равномерное:
- L - светлота
- a - ось от зелёного к красному
- b - ось от синего к жёлтому
Используется в профессиональной цветокоррекции и при вычислении разницы
между цветами (DeltaE).
3.6. Гамма-коррекция
Человеческое зрение и старые ЭЛТ-мониторы имеют нелинейную характеристику.
Стандарт sRGB использует гамму ~ 2,2.
Правильный пайплайн:
1. Текстуры и цвета обычно хранятся в sRGB (с гаммой)
2. Перед вычислениями освещения - перевод в линейное пространство
3. Все расчёты освещения - в линейном пространстве
4. Перед выводом на экран - обратная гамма-коррекция (и тональная компрессия
для HDR)
Ошибка многих начинающих: считать освещение прямо в sRGB - картинка получается
слишком тёмной в полутонах.
3.7. Практические советы
- Для веба и большинства приложений - sRGB
- Для печати - работа в CMYK или преобразование через правильные ICC-профили
- Для кино и VFX - линейные пространства + ACES
- Всегда учитывайте цветовой профиль монитора при критичной работе с цветом
ГЛАВА 4. СИСТЕМЫ КООРДИНАТ И ОДНОРОДНЫЕ КООРДИНАТЫ
4.1. Декартовы системы координат
В компьютерной графике встречаются:
- Правая система координат (Right-handed)
- Левая система координат (Left-handed)
В правой системе: если большой палец - X, указательный - Y, то средний - Z.
OpenGL (классический): правая система.
DirectX: чаще левая.
Важно всюду придерживаться одной системы, иначе модели будут "вывернуты".
4.2. Однородные координаты
Одно из ключевых изобретений компьютерной графики.
Точка (x, y, z) представляется как (x, y, z, w), где обычно w = 1.
Вектор направления - (x, y, z, 0).
Зачем это нужно:
- Все аффинные преобразования (включая перенос) записываются одной матрицей 4x4
- Перспективное проецирование становится матричным умножением + делением на w
- Удобно работать с бесконечно удалёнными точками (w = 0)
Преобразование:
(x', y', z', w') = (x, y, z, w) x M
Декартовы координаты после преобразования:
X = x' / w'
Y = y' / w'
Z = z' / w'
4.3. Системы координат в графическом конвейере
Конец ознакомительного фрагмента.