Вот например, при компиляции -bounce сокращен с 8 до 1 и -gamma задрана в 0.7, уже повкуснее, но настраивать еще долго. При таких значениях на улице становится довольно неплохо, но в помещениях темнота вырвиглазная, в той трубе где начинается уровень и вовсе черный экран.
H-3D писал: При таких значениях на улице становится довольно неплохо, но в помещениях темнота вырвиглазная, в той трубе где начинается уровень и вовсе черный экран.
Ну вот нет, я как раз добиваюсь того, чтобы с одними и теми же глобальными параметрами компиляции было одинаково хорошо и в помещениях, и на улице. Иначе это, как говорится, не езда.
Да, с подкрученным диффузным светом совсем шикарно стало, почти как в УЕ4
Только имхо синева какая-то чуть-чуть не такая - будто свет от лампы дневного света, хотя может просто непривычно. Но имхо ее стоит немного подкрутить в сторону темно-серого.
Кстати на всех скринах со скалами есть еще такая проблема, что теперь ясно видно несоответствие между брашами на карте и скайбоксом вдалеке. Хотя можно это всегда так было.
XaeroX писал: Когда в волатиле появится такая энтитя, не раньше.
Ее разве не было? Она ж еще движется по сплайновой линии.
__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."
Процесс или значение?
Значение дефолтовое, т.к. я отлаживаю компиляторы, чтобы по дефолту был красивый результат.
Цитата:
Government-Man писал: Хотя можно это всегда так было.
Да нет, в халфе скайбокс со скалами бесшовно соединялись.
Ну сам-то как думаешь?
Цитата:
qishmish писал: Ее разве не было? Она ж еще движется по сплайновой линии.
Ну когда-то была, конечно. В прошлой жизни. А в новом движке заново всё делать нужно. Я ж вроде много раз писал, что старой волатилы больше нет и новая пишется практически с нуля?
XaeroX писал: Да нет, в халфе скайбокс со скалами бесшовно соединялись.
По-моему раньше это меньше бросалось в глаза. Дело не в отсутствии соединения а в визуальном несоответствии. Но, повторюсь, я давно не проходил первую халфу и не помню бросалось оно или нет. Но по-моему в меньшей степени.
Government-Man писал: По-моему раньше это меньше бросалось в глаза.
Это точно. Раньше и трава была зеленее, и солнышко ярче, и от водки похмелье не такое сильное.
Цитата:
ncuxonaT писал: Ну освещение, вероятно, рассчитывается в линейном пространстве. Оно потом переводится в gamma space?
Нет... Гм. Надо бы сравнить.
Добавлено 22-01-2016 в 02:55:
ncuxonaT
Честно говоря, так и не понял, как сделать гамма-компенсацию.
Получается, мы должны гамма-скорректировать текстуры на значение 2.2 при загрузке, потом наложить лайтмапу, просуммировать все длайты и вот эту итоговую картинку выводить с аппаратной гамма-коррекцией 1/2.2?
Я так понимаю, после обратной коррекции свет не аддитивен, т.е. мы не можем складывать лайтмапу и длайты, которые скорректировали на 1/2.2, это можно делать только с итоговой картинкой?
XaeroX
Я сам не уверен, что хорошо разобрался.
Но вроде бы и текстура и лайтмапа загружаются в гамма спейсе. Поэтому есть 2 варианта:
1) Вернуть текстуру и лайтмапу в линейное пространство, возведя в степень 2.2. Посчитать длайты, сложить их с лайтмапой, умножить сумму на текстуру. Перевести результат в гамма-пространство, возведя в степень 1/2.2. Конец шейдера.
2) Вернуть в линейное пространство лайтмапу. Посчитать длайты, сложить с лайтмапой, сумму перевести в гамма-пространство. Умножить сумму на текстуру. Конец шейдера.
Стоп-стоп. Текстура у нас в гамма-спейсе, т.к. её рисовал дизайнер, пырясь в монитор. А лайтмапа - в линейном пространстве, т.к. её считал математически компилятор.
Возьмём для простоты гамму монитора 2 вместо 2.2.
1) Если мы будем выводить только лайтмапу - то всё понятно. Берём её в линейном пространстве, затем применяем аппаратную гамму (ну или шейдер) 1/2 и получаем на мониторе правильную картинку.
2) Если выводим текстуру и лайтмапу, тогда, получается, на монитор надо вывести вот что:
result = ( diffuse * lightmap ) ^ 2 - это "посчитает" монитор
ок, тут делаем коррекцию лайтмапы на 1/2, имеем:
result = ( diffuse * sqrt( lightmap ) ) ^ 2 = diffuse^2 * lightmap - то, что нужно.
3) И самая мякотка - вывести текстуру, лайтмапу и динамический свет. Тут уравнение имеет вид:
result = ( diffuse * lightmap + СУММi( diffuse * dlight(i) ) ) ^ 2
а квадрат суммы, как известно, ни разу не равен сумме квадратов. И наша хвалёная гамма-коррекция разваливается на куски.