При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Картостроение > Помощь > Помощь по движку Source
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2019, 15:38  #1
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 33
Сообщения: 3,967


По умолчанию Регулировка уровня отражённого освещения

Давно сюда уже не заходил, давно не маппил, многие тонкости подзабыл...

Вот хочу узнать, не рыская подолгу в коде: каким параметром в компиляторе VRAD регулируется масштаб рассеянного света (отражённого от поверхностей)? По умолчанию в Сорсе (во всяком случае 2003-2006 годов) рассеянность, как мне кажется, очень слабая. Ну что за фигня: поставил в комнату площадью 20 квадратов направленный прожектор яркостью в 20000, а вокруг еле видно? maxchop 128 чуть улучшает ситуацию, но он же и шакалит тени...

Последний раз редактировалось Psycho-A, 09.04.2019 в 15:41.
Psycho-A вне форума Ответить с цитированием
Старый 09.04.2019, 15:50  #2
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

А там вообще нет такого параметра.
Почему рассеянность слабая, я так до конца и не понял. Там на источник света налагается очень много ограничений, но сняв их я так и не получил красивой картинки. Может ещё в гамме дело, но моего воображения не хватило чтобы вообразить, хуже или лучше когда считаешь свет в одной гамме а пишешь в лайтмапу в другой. Там ещё в коде трансферов была какая-то другая формула, но тоже вроде недостаточно.

crystallize, подумав, добавил 09.04.2019 в 15:59
Мне больше всего нравилась Сорсовская картинка, когда я отключил рефлективность, т.е. отключил уменьшение яркости отражённого света путём его домножения на RGB текстуры (её яркость меньше единицы не только по очевидным причинам, она ещё клапится сверху).
Плюс там ещё лайтстили не учитывают свет от небосвода.
Может ДМ что-то более осведомлённое скажет, почему там освещение "на части распадается".

Последний раз редактировалось crystallize, 09.04.2019 в 15:59.
crystallize вне форума Ответить с цитированием
Старый 09.04.2019, 16:00  #3
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 33
Сообщения: 3,967


По умолчанию

[ Цитата ] Сообщение от crystallize: А там вообще нет такого параметра.
Почему рассеянность слабая, я так до конца и не понял. Там на источник света налагается очень много ограничений, но сняв их я так и не получил красивой картинки. Может ещё в гамме дело, но моего воображения не хватило чтобы вообразить, хуже или лучше когда считаешь свет в одной гамме а пишешь в лайтмапу в другой. Там ещё в коде трансферов была какая-то другая формула, но тоже вроде недостаточно.
Ну, даже если "юзерского" параметра нет, то наверняка где-то в коде можно регулировать яркость или самих этих лайтмап, или коэффициентов отражения при генерации лайтмап. Вот и хотелось бы узнать, что именно покрутить. Гамма - костыль, который искажает сразу всё.
Psycho-A вне форума Ответить с цитированием
Старый 09.04.2019, 16:53  #4
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

-bounce и проверь нет ли дырок на карте

Последний раз редактировалось FiEctro, 09.04.2019 в 16:57.
FiEctro вне форума Ответить с цитированием
Старый 09.04.2019, 17:36  #5
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 33
Сообщения: 3,967


По умолчанию

2 FiEctro:
При чём дырки? Число bounc'ов и так обычно не достигает максимума. Даже если поставить 1000, компилятор всё равно отберёт столько, сколько ему нужно.
Psycho-A вне форума Ответить с цитированием
Старый 09.04.2019, 17:41  #6
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

[ Цитата ] Сообщение от Psycho-A: Ну, даже если "юзерского" параметра нет, то наверняка где-то в коде можно регулировать яркость или самих этих лайтмап, или коэффициентов отражения при генерации лайтмап.
Коэффициенты можно крутить в vrad.cpp, в BaseLightForFace убрать ограничение на reflectivity и приписать множитель. Либо в GatherLight просто его приписать прямо после домножения на reflectivity, там два пути-с бампом и без.
Оба описанных фикса применяются при каждом баунсе. Как иначе я не знаю.
crystallize вне форума Ответить с цитированием
Старый 09.04.2019, 18:50  #7
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

да нету там никаких множителей
Дядя Миша вне форума Ответить с цитированием
Старый 10.04.2019, 19:46  #8
Psycho-A
Psycho-A
 
Регистрация: 29.08.2009
Возраст: 33
Сообщения: 3,967


По умолчанию

[ Цитата ] Сообщение от crystallize: Либо в GatherLight просто его приписать прямо после домножения на reflectivity, там два пути-с бампом и без.
Оба описанных фикса применяются при каждом баунсе. Как иначе я не знаю.
Спасибо, этот способ работает, и достаточно неплохо (влияет только на bounced light).
Код:
v[i] = 2.0 * emitlight[trans->patch][i] * patch2->reflectivity[i];
Код:
v[i] = 2.0 * emitlight[trans->patch][i] * patches[trans->patch].reflectivity[i];

Разница при множителях 1.0, 2.0 и 10.0:
[ Миниатюры ]
01.jpg Просмотров: 13 Размер:  267.5 Кбайт  02.jpg Просмотров: 13 Размер:  299.9 Кбайт  10.jpg Просмотров: 13 Размер:  449.3 Кбайт  
Psycho-A вне форума Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 09:08.


Designed by FT-502, [email protected] Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2021 by CS-Mapping.com.ua Community