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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.08.2018, 18:52  #21
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

2 ZombieSource: ну если быть совсем точным, то не на сурфейс, а на пиксель в экранном пространстве. Нет, резать ничего не надо.
Дядя Миша вне форума Ответить с цитированием
Старый 27.08.2018, 19:16  #22
ZhekA
ZhekA
Генерал
Регистрация: 27.02.2008
Адрес: Москва
Возраст: 32
Сообщения: 4,126
Замечания: 4


По умолчанию

[ Цитата ] не более 255 лампочек на уровень
Это СЛИШКОМ мало... Нужно минимум 1024 на ВЕСЬ уровень.
ZhekA вне форума Ответить с цитированием
Старый 27.08.2018, 21:50  #23
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

savior1 - 14 лампочек
savior3 - 27 лампочек
savior4 - 36 лампочек
savior11 - 55 лампочек

Элбер всегда стремился к игре света и тени. Любители расставлять лампочки через каждые полтора метра могут использовать лайтмапу, например.
Пока что я могу сказать, что 55 лампочек даже безо всякой оптимизации это очень небольшая нагрузка на рендерер.
Дядя Миша вне форума Ответить с цитированием
Старый 27.08.2018, 23:43  #24
ZhekA
ZhekA
Генерал
Регистрация: 27.02.2008
Адрес: Москва
Возраст: 32
Сообщения: 4,126
Замечания: 4


По умолчанию

[ Цитата ] Сообщение от ncuxonaT: Напомните, пожалуйста, в каких играх было полностью динамическое освещение, которое хорошо выглядело?
В думе 3 вроде полное динамическое освещение.
[ Цитата ] Любители расставлять лампочки через каждые полтора метра могут использовать лайтмапу, например.
Имелось ввиду, если будет динамическое освещение онли, то 255 это очень мало.
ZhekA вне форума Ответить с цитированием
Старый 28.08.2018, 01:05  #25
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Первое что необходимо сделать - это привести динамическое освещение в полную идентичность с лайтмапой. Чтобы было легче сравнить отсутствие радиосити и теней, и не отвлекаться на разную яркость.

Там где динамика модели пока не рисуются. Я просто беру код из компилятора и адаптирую в GLSL.
[ Миниатюры ]
p_savior3_0000.JPG Просмотров: 166 Размер:  36.0 Кбайт  p_savior3_0001.JPG Просмотров: 178 Размер:  34.5 Кбайт  p_savior3_0003.JPG Просмотров: 195 Размер:  54.3 Кбайт  p_savior3_0004.JPG Просмотров: 203 Размер:  54.6 Кбайт  
Дядя Миша вне форума Ответить с цитированием
Старый 28.08.2018, 10:30  #26
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

Так на скринах с лайтмапой есть радиосити? Если нет, то почему на втором скрине стенка практически черная?
FiEctro вне форума Ответить с цитированием
Старый 28.08.2018, 10:32  #27
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

del

Последний раз редактировалось crystallize, 28.08.2018 в 10:37.
crystallize вне форума Ответить с цитированием
Старый 28.08.2018, 11:07  #28
DrTressi
DrTressi
Хрустик
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 27
Сообщения: 6,383
Замечания: 16


По умолчанию

2 Дядя Миша: На последнем скришноте динамика выглядит симпатично. Однако, в любом случае полное динамическое освещение - имхо затратно по ресурсам и менее качественно по картинке.

Можно ли радиосити запекать в лайтмапу, а сами источники делать динамическими?
DrTressi вне форума Ответить с цитированием
Старый 28.08.2018, 11:21  #29
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

[ Цитата ] Сообщение от DrTressi: Можно ли радиосити запекать в лайтмапу, а сами источники делать динамическими?

Тогда теряется весь смысл использовать динамические источники. Не долго сделать обычный флажок чтобы отключать/включать тот же радиосити или тени отдельно для каждого источника. Статика как писалось выше тоже никуда не денется.

Последний раз редактировалось FiEctro, 28.08.2018 в 11:25.
FiEctro вне форума Ответить с цитированием
Старый 28.08.2018, 12:28  #30
DrTressi
DrTressi
Хрустик
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 27
Сообщения: 6,383
Замечания: 16


По умолчанию

[ Цитата ] флажок чтобы отключать/включать тот же радиосити или тени отдельно для каждого источника
Динамического источника? Флажок чтобы включать радиосити для динамического источника, я правильно понял?
DrTressi вне форума Ответить с цитированием
Старый 28.08.2018, 13:17  #31
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

[ Цитата ] Сообщение от DrTressi: Динамического источника? Флажок чтобы включать радиосити для динамического источника, я правильно понял?

Да для любого. А что тут удивительного? Вся нормальная оптимизация так делается, чем больше настроек тем лучше. Они всеравно в отдельные проходы делаются, следовательно ничего не мешает исключить оттуда пару лампочек.
FiEctro вне форума Ответить с цитированием
Старый 28.08.2018, 13:28  #32
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

[ Цитата ] имхо затратно по ресурсам и менее качественно по картинке.
Над оптимизацией я как раз и работаю. А что имелось в виду "менее качественно"?
[ Цитата ] Можно ли радиосити запекать в лайтмапу, а сами источники делать динамическими?
Можно. У рада -dscale 0 поставить, прямой свет умножится на ноль и пропадёт, а отражённый останется.
Весь смысл динамических источников в униформности освещения, когда абсолютно все модели и все брашы имеют такое же освещение, как и мир.
Надо всё это оптимизировать, потом прикрутить тени и посмотреть, остался ли запас для реалтайм радиосити.
Дядя Миша вне форума Ответить с цитированием
Старый 29.08.2018, 00:44  #33
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Немножко расскажу о проблемах оптимизации и методах их решения. В 99% случаев когда говорят "динамическое освещение" имеют в виду маленький источник с линейным затуханием, который влезает на экран и который можно откуллить через скиссор. Собственно длайты в параное так и устроены. В случае же с бсп лайтами народ обычно предпочитает не заморачиваться и делать релайты. Даже в том случае, если это первая квака и там нет никакого радиосити. Как вы понимаете для меня подобный подход неприемлем. Весь смысл именно в том, чтобы позволить себе динамическое освещение, по факту ничем не отличающееся от лайтмапы, ну хорошо пусть для начала только прямой свет (но за индирект мы тоже поборемся). Что такое халфовские лампочки вы и без меня знаете. Это свет, заливающий полкарты. В таких условиях никакие скиссоры, никакие куллинги и никакой PVS не способны исправить ситуацию. Что же можно сделать в таком случае? Я предположил (еще в 17-м году, еще до того как начал писать свои компиляторы карт), что нам необходимо построить матрицу взаимной видимости для каждого сурфейса к каждому лайту. Поскольку сами лайты статичные (т.е. не двигаются), мы можем рассчитать для них эту видимость практически даром. Т.е. эти рассчёты никоим образом не увеличат время работы рада. Принцип тут следующий, если текущий источник добил своим светом хотя бы до одного люкселя на лайтмапе, и его не отсёк PVS, его не отсекла трасса и яркости света хватило, то связка лайт-сурфейс считается видимой. Ну а дальше дело техники - нам надо просто-напросто, при наборе видимых сурфейсов рассчитать одномерную визлайтматрицу для текущего кадра, где бит напротив номера лайта будет означать что в этом кадре этот лайт виден. И пропустить наши ворлдлайты через эту матрицу, отфильтровав невидимое. Однако в чистом виде этот подход хотя и здорово увеличивает фпс (причём чем больше лампочек на карте - тем сильнее получается прирост), но в таком упрощённом виде не годится для использования. Сейчас покажу почему. Это карта test_dyn из первой паранои. Видите? Вот я слегка крутонул башкой и начался лайтблидинг из соседней комнаты.
Но о том, как это исправить я расскажу в следующий раз
[ Миниатюры ]
test_dyn_0000.JPG Просмотров: 171 Размер:  16.4 Кбайт  test_dyn_0001.JPG Просмотров: 195 Размер:  18.0 Кбайт  
Дядя Миша вне форума Ответить с цитированием
Старый 29.08.2018, 05:49  #34
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

А ты исправлял в раде ту формулу с кубическими степенями и волшебными 10-ми на правильную?
crystallize вне форума Ответить с цитированием
Старый 29.08.2018, 13:03  #35
Qwertyus
Qwertyus
Генерал-Майор
Регистрация: 13.08.2009
Сообщения: 1,343


По умолчанию

2 Дядя Миша:
Не знаю, сколько лефронтов в кадре какова яркость твоего монитора, но на моём кроме чёрного экрана и маленького белёсого пятнышка вообще ничего не видно. Тем более, разницы между двумя скринами
Qwertyus вне форума Ответить с цитированием
Старый 29.08.2018, 14:01  #36
GNU/Hurt
GNU/Hurt
Maïté
Регистрация: 05.03.2014
Сообщения: 1,097


По умолчанию

Аналогично. Скриншоты 10 лефронтов из десяти.
GNU/Hurt вне форума Ответить с цитированием
Старый 29.08.2018, 14:21  #37
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Но-но. Всё там видно. Я специально тёмные скрины выложил, для наглядности.
2 crystallize: ну как я тебе исправлю формулу, если под нее сделаны сотни миллиардов карт?
Дядя Миша вне форума Ответить с цитированием
Старый 29.08.2018, 14:32  #38
crystallize
crystallize
Генерал-Лейтенант
Регистрация: 06.06.2014
Сообщения: 1,486


По умолчанию

Какие сотни? Ты хочешь сделать динамику единственным пайплайном движка?
crystallize вне форума Ответить с цитированием
Старый 29.08.2018, 14:53  #39
FiEctro
FiEctro
Регистрация: 28.07.2006
Адрес: Эквестрия
Возраст: 29
Сообщения: 17,146


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: 2 crystallize: ну как я тебе исправлю формулу, если под нее сделаны сотни миллиардов карт?

Это было бы актуально если бы эта фича писалась для движка или ксашмода, но какие "сотни миллиардов карт" были сделаны под параною?
FiEctro вне форума Ответить с цитированием
Старый 29.08.2018, 17:33  #40
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 15,383


По умолчанию

Знаете меня уже второй день не покидает ощущение, что энкодинг нормали по формуле value * 128 + 128 он неправильный. Правильный вариант value * 127 + 128.
Но это не точно.
Дядя Миша вне форума Ответить с цитированием
Ответ

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

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

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

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



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


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