ncuxonaT
Диффуз за скобку там не вынесёшь. Я не совсем правильно написал формулу, она не учитывает спекуляр. Правильно вот так:
result = ( diffuse * lightmap + СУММi( diffuse * dlight_diffuse(i) + dlight_specular(i) ) ) ^ 2
Плюс, конечно, реальные лайты могут быть ещё сложнее, например, результат будет ещё помножен на фильтрующую кубемапу. Короче, жесть полная выходит.
ncuxonaT
Ну неправильный псевдокод у тебя получается. Ты возводишь в степень сумму и думаешь, что при этом диффузка сохранит цвет. А она не сохранит, потому что степень суммы в общем случае не равна сумме степеней.
Получается, из-за вот этой (сомнительной) линеаризации освещённости мы портим гамму диффузок. Художники точно спасибо не скажут.
XaeroX писал: Опять попробую всем угодить.
Так лучше стало?
Правый вариант конечно лучше, но диффузное освещение имеет отличный от неба цвет, а так же перекрученную яркость. Но это чисто мапперский косяк, не имеющий отношения к движку.
Рекомендую еще сделать небольшой атмосферный туманчик, тоже цвета диффузного освещения.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
ncuxonaT
Ну он будет не тот, который ожидается - следовательно, испортится.
Гамма-коррекция это процедура исправления, а не изменения.
Цитата:
FiEctro писал: Рекомендую еще сделать небольшой атмосферный туманчик, тоже цвета диффузного освещения.
Туманчик накладывается на небо, и это будет выглядеть, прямо скажем, нереалистично. В реале не бывает, чтобы и туман, и залитое солнцем небо были видны одновременно. Ну разве что туман объёмный, формирует слой у земли - такое я видел. Но тут до земли далековато.
Цитата:
FiEctro писал: диффузное освещение имеет отличный от неба цвет, а так же перекрученную яркость
Слишком светло? Надо сделать темнее диффузное освещение? А ты уверен, что в самой халфе там диффуз слабее?
XaeroX писал: Слишком светло? Надо сделать темнее диффузное освещение? А ты уверен, что в самой халфе там диффуз слабее?
Да, светло. А вот насчет сделать темнее это спорный вопрос, для каждой карты освещение подбирается экпериментально.
Если лень с этим возиться, можно опробовать шаблоны вот отсюда: https://developer.valvesoftware.com/wiki/Sky_List
Цитата:
XaeroX писал: Туманчик накладывается на небо, и это будет выглядеть, прямо скажем, нереалистично. В реале не бывает, чтобы и туман, и залитое солнцем небо были видны одновременно. Ну разве что туман объёмный, формирует слой у земли - такое я видел. Но тут до земли далековато.
Это туманчик из Q3? Да он немного странно работает.
Но впринципе если он даже будет накладываться на небо - ничего страшного. Нам же не нужен густой туман, так 10-30% для имитации непрозрачности воздуха.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
В Q3 два типа туманчика - объёмный и глобальный.
В волатиле тоже, разумеется, есть оба. Я про глобальный и говорил.
Цитата:
FiEctro писал: Но впринципе если он даже будет накладываться на небо - ничего страшного. Нам же не нужен густой туман, так 10-30% для имитации непрозрачности воздуха.
Ага, спасибо за скрин, попробую сделать нечто подобное.
Ну они же под сорсовский компилятор. А я бес понятия, какой там лагоритм расчёта света от неба.
Добавлено 22-01-2016 в 17:36:
Н-да, отключил я наложение тумана на небо. Жутко это выглядит, он собирается в углах скайбокса, как бы подчёркивая, что это куб. Гораздо проще имитировать затуманенность скайбокса отдельным полупрозрачным слоем шойдера, подогнав цвет и прозрачность к цвету затуманенных на удалении объектов.
Добавлено 22-01-2016 в 18:00:
Итак, каково ваше мнение, как лучше - с фогом или без?
XaeroX писал: Ну он будет не тот, который ожидается - следовательно, испортится.
Гамма-коррекция это процедура исправления, а не изменения.
Ну я не понимаю, почему цвет будет не такой, как ожидается. Почему, если будет сумма квадратов, то цвет будет такой, как ожидается, а если квадрат суммы, то не не такой.
Результатом будет только то, что свет будет складываться как на второй картинке, а не на первой. Ну и посветлее всё станет.
Лайтмапа же это, считай, такой же длайт, только его не считать надо, а из текстуры брать.
ncuxonaT писал: Ну я не понимаю, почему цвет будет не такой, как ожидается.
Потому что текстура в этой формуле откорректируется так, что её гамма окажется изменённой. А задача гамма-коррекции - исправить только освещение, а текстуры оставить неизменными. Вот если бы спекуляра в формуле не было - тогда да, формула разворачивается на раздельные компоненты, текстура и освещение, которые перемножаются. А степень произведения равна произведению степеней.
Ну я не знаю, как ещё объяснить. Возможно, мы по-разному понимаем суть гамма-коррекции освещения.