LerpworksAcademy
На этой странице

Графика › Свет

Отражения: кубмапы, SSR и Lumen

Нужно знать заранее: Свойства поверхности: roughness, metallic, AO, Прямой и непрямой свет, Буфер глубины: кто ближе к камере

Лужа показывает небо и фонарь, хромированный чайник — всю кухню. Чтобы нарисовать такое, пикселю лужи нужно знать, что находится в стороне, куда смотрит отражение, а шейдер видит только свою точку. Здесь — куда смотрит отражение, как отвечают кубмапы, экранные отражения, второй кадр и лучи, почему у каждого свои дыры и что делать, когда ответа нет. Восьмой урок курса «Как движок рисует кадр».

Зачем это

В уроке про поверхность выяснилось, что блестит всё, а металл вообще состоит из одного отражения. Но откуда движок берёт то, что отражается? Без ответа непонятно:

  • почему отражение в полу пропадает, когда наклоняешь камеру вниз;
  • почему в комнате отражение окна «плывёт» и не стоит на стене;
  • почему металлический шкаф в тёмной кладовке светится голубым небом;
  • почему зеркало в игре — дорогая редкость, а лужи — нет.

Дальше в статье

  1. Задача: пиксель видит только себя
  2. Куда смотрит отражение
  3. Кубмапа: весь мир вокруг точки
  4. Шероховатость размывает отражение
  5. Френель решает, сколько отражения видно
  6. Экранные отражения: ответ в готовом кадре
  7. Плоские отражения: второй кадр
  8. Лучи и Lumen
  9. Когда ответа нет
  10. Где ломается
  11. Связи: та же идея в других областях
  12. Главное
  13. Проверь себя