Графика › Кадр
Прозрачность: Opaque, Masked, Translucent
Нужно знать заранее: Цвет — это числа, Буфер глубины: кто ближе к камере
Стена закрывает то, что за ней, лист — только там, где есть лист, а стекло и дым пропускают часть того, что позади. Для видеокарты это три способа нарисовать пиксель: заменить, выбросить или смешать с уже нарисованным. Разберём, почему смешивание — это lerp из урока про цвет, почему прозрачное рисуют последним и где его сортировка ошибается, почему дым дорогой, а листва вдали редеет и обрастает тёмной каймой. Четвёртый урок курса «Как движок рисует кадр».
Зачем это
В уроке про буфер глубины прозрачное заняло одну строку: оно проверяет глубину, но своей не пишет. За этой строкой — целая тема, и художник окружения встречает её постоянно:
- листва стоит дорого, а издалека крона редеет и просвечивает;
- вокруг листьев тёмная кайма, которой нет в текстуре;
- дым над водой то виден, то уходит под воду, стоит сдвинуть камеру;
- у стеклянной бутылки задняя стенка проступает поверх передней;
- густой дым роняет частоту кадров сильнее целого города.
Всё это — следствия одного выбора: как новый цвет ложится на уже нарисованный.