Open w23 opened 2 years ago
Вроде разобрались?
Не до конца. Если я правильно помню, сейчас мы собираем просто все "солнца" для области, пуляем в них лучи и определяем, попали ли мы в SURF_SKY. Это решённая половина проблемы. Вторая половина проблемы это эмбиентное освещение от самого неба, как от скайбокса/кубмапы. Вот тут неясно, что делать:
Наверное правильнее всего было бы:
А, вспомнил. Самая жопа на картах uplink у нас нет правильного смешивания солнц. Очень жёсткие границы которые не исправить никак патчами.
На тему SURF_SKY, для 100% совместимости с QRAD нужно отбрасывать тени от внутренних SURF_SKY. Я бы вывел это отдельным кваром. Вот видно как от них есть тень: У нас тени нет, реализм, но сломан дизайн:
Возможно это связано с #228:
can have a special skybox hit shader
Что значит "внутренний SURF_SKY"? Как я его отличу от остальных? Тень от неба считается очень просто: упёрлись лучом в SURF_SKY -- значит нет тени. Если упёрлись во что-то другое -- значит есть. Какой именно цветовой дифференциацией штанов SURF_SKY заниматься, непонятно. Может, там какой флажок есть? Надо в курад глянуть, что они там делают.
Как видно здесь у здания есть продолжение в виде SURF_SKY, а за зданием ещё другой SURF_SKY.
В целом это низкий приоритет, есть задачи поважнее. cs_delta_assault уже сдизайнена нормально. Но de_dust похожая тема (хаха — нереализованный скабокс в растеризации помогает отлаживать):
Вывод: вертикальное продолжение обычной геометрии в виде SURF_SKY считается за обычную геометрию по части обработки теней.
This might be more problematic than beneficial. It's only somewhat beneficial in case of small SURF_SKY windows in dark rooms. But for large open spaces it will completely overflow emissive surfaces budget.