Маска полутени

Разрабатываю свой движок #ForceEngine на базе ресурсов игр #Thief и #SystemShock2 .
Маска полутени (penumbra mask) - прием оптимизации, который позволил обрабатывать в риалтайме динамические мягкие тени от всех объектов и от каждого источника света на уровне.

7171

Т.е, доп текстурная карта с маской? И как я понял они сами красят отдельный префаб

Ответить

У каждого источника есть свой фреймбуфер, в нём хранятся глубина и эта маска с mipmap уровнями (неполная цепочка). Соответственно, помимо глубины, у нас есть ещё одна текстурная компонента, которая сэмплируется из разных мип-уровней в зависимости от расстояния до источника света. Если попали в маску - делаем доп. выборки глубины (по принципу PCF), если не попали - завершаем процесс.

2
Ответить