HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (240): « Первая ... « 104 105 106 107 [108] 109 110 111 112 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
1. Можно, как я уже сказал найти пиковое значение света для всех страниц атласа, сохранить его, ну например в ворлдспавн, предварительно умножив на него все значения света. Это в некотором смысле даст такой же эффект, как и BestFitNormals - сдвигаем значения диапазона, оставляя его границы нетронутыми. А потом просто умножить в шейдере каждый пиксель лайтмапы на это значение и получим почти HDR.

И получится адовый бандинг. Будет пиковое значение, например, 10 - вместо 256 градаций получим 25.
Цитата:
Дядя Миша писал:
2. Сохранить лайтмапы в RGBe как в сорсе. Четвертый байт отводится под экспоненту. Минус в том, что скорее всего этот формат не имеет никакой аппаратной поддержки, его не сожмёшь в DXT и он занимает больше места, а я бы может четвертый байт хотел под тени заюзать.

Можно хранить как RGBA и сжимать в DXT5. А вообще есть всякие непривычные форматы типа GL_RGB10_A2, GL_RGB9_E5 и GL_R11F_G11F_B10F. Сжать их не выйдет, конечно.

За это сообщение ncuxonaT получил девойс по собственному желанию

Сообщить модератору | | IP: Записан
Сообщение: 195540

Старое сообщение 09-07-2020 12:09
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12883
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:


Лайтмапа считается в вещественных числах, а записывается в картинку 24 бита, очевидно, каждый канал может хранить максимум 0-255. А во флоате там могут быть любые значения, источники света-то суммируются.


А чому сразу не считать лайтмапу в нужных пределах?

Сообщить модератору | | IP: Записан
Сообщение: 195541

Старое сообщение 09-07-2020 12:18
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32189
Нанёс повреждений: 392 ед.

Рейтинг



FiEctro разверни свою мысль

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195542

Старое сообщение 09-07-2020 12:25
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12883
Возраст: 32

Рейтинг



Ну зачем рендерить с большим цветовым диапазоном, чтобы потом его обрезать? Почему нельзя отрендерить сразу в нужном качестве?

Отредактировано FiEctro 09-07-2020 в 12:53

Сообщить модератору | | IP: Записан
Сообщение: 195543

Старое сообщение 09-07-2020 12:52
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32189
Нанёс повреждений: 392 ед.

Рейтинг



Какой еще световой диапазон?
Ты на карту поставил лампочку и задал ей яркость 300. Очевидно 300 уже не влезает в границы байта. Но за счёт формулы затухания до сурфейса доходят меньшие значения. Но не от одной лампочки, а от разных. Они складываются. Где-то обязательно будет больше 255. Ты никак на этот процесс не повлияешь. Можно привязать эти настройки к физически корректным формулам, но проблема никуда не исчезнет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195546

Старое сообщение 09-07-2020 13:16
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12883
Возраст: 32

Рейтинг



Дядя Миша
Почему тогда в других рейтрейсерах при запекании в лайтмапу этой проблемы нет?

Сообщить модератору | | IP: Записан
Сообщение: 195547

Старое сообщение 09-07-2020 13:28
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32189
Нанёс повреждений: 392 ед.

Рейтинг



FiEctro нет какой именно проблемы? Которую ты сам себе придумал?

Добавлено 09-07-2020 в 18:26:

Цитата:
ncuxonaT писал:
Будет пиковое значение, например, 10

Попробуй еще раз прочитать то, что я написал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195554

Старое сообщение 09-07-2020 15:26
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Попробуй еще раз прочитать то, что я написал.

Попробовал, ничего не изменилось. Может, по-другому напишешь? Или на картинках покажешь.

Сообщить модератору | | IP: Записан
Сообщение: 195560

Старое сообщение 09-07-2020 15:49
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32189
Нанёс повреждений: 392 ед.

Рейтинг



ncuxonaT если пиковое значение не превысило 255, зачем его записывать?

Прикрутил рейтрейсер, гауссом пока не гладил.
Считалось это две минуты с половой на одном потоке, долговато конечно.

[ Вложение ]
shaderlab_terrain_0000.jpg

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195564

Старое сообщение 09-07-2020 16:05
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Дядя Миша
Там скраю карты шов?

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | | IP: Записан
Сообщение: 195565

Старое сообщение 09-07-2020 16:06
- За что?
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
ncuxonaT если пиковое значение не превысило 255, зачем его записывать?

Я же говорю про нормализованный диапазон 0-1. Хочешь в целых числах - пожалуйста. Если пиковое значение 2550, на лайтмапе будет адовый бандинг.
Цитата:
Дядя Миша писал:
Прикрутил рейтрейсер, гауссом пока не гладил.
Считалось это две минуты с половой на одном потоке, долговато конечно.

Какое разрешение лайтмапы? Радиосити нет, только небо? Сколько лучей на небо?

Добавлено 09-07-2020 в 19:26:

FiEctro вот тема про лампочки, на каком скрине бензиновые разводы? https://csm.dev/threads/radius-osve...alf-life.38602/

Сообщить модератору | | IP: Записан
Сообщение: 195566

Старое сообщение 09-07-2020 16:26
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32189
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
thambs писал:
Там скраю карты шов?

там конец карты.

Цитата:
ncuxonaT писал:
Я же говорю про нормализованный диапазон 0-1. Хочешь в целых числах - пожалуйста. Если пиковое значение 2550, на лайтмапе будет адовый бандинг.

Ты слушаешь только себя. Отучайся. Разжую подробно, еще раз.

1. Анализиурем все люксели всех страниц атласа для конкретной карты.
Находим пиковое значение. Если пик ниже 255, ставим множитель в 1.0.

2. делим все люксели на наш пик, если он более 255. Здесь приходится полагаться на практику, крайний пик навряд ли превысит 1.2 - 1.5. Просто из дизайнерского опыта, никто не будет ставить рядом сотни лампочек.

3. Здесь есть потенциальная проблема, что некоторые слишком тёмные люксели могут потенциально стать ниже 1 1 1 и соответственно превратиться в 0 0 0. Можно их принудительно ограничить на 1 1 1, хотя это и не совсем корректно.

4. При рендеринге умножаем лайтмапу обратно на наш множитель. Фокус тут в том, что дальше мы умножаем её на диффузку, поэтому итоговое значение не превысит 0-255, даже при рендеринге в RGBA8.

В чём смысл этой затеи - более эффективное использование диапазона RGB24. Я ж почему и сказал, что это чем-то похоже на BFN, там ведь тоже весь трюк сводится примерно к тому же самому.

Цитата:
ncuxonaT писал:
Какое разрешение лайтмапы?

386х386.

Цитата:
ncuxonaT писал:
Радиосити нет, только небо?

нету, разве я писал, что прикрутил радиосити?

Цитата:
ncuxonaT писал:
Сколько лучей на небо?

148 тысяч прямых и наверное около миллиона вторичных пополусфере, но это неточно, надо счётчик прикрутить.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195567

Старое сообщение 09-07-2020 16:37
-
ncuxonaT
каков стол, таков и стул

Группа: Опытный
Дата регистрации: Oct 2009
Проживает: город/село/деревня
Сообщений: 1626
Возраст: 33

Рейтинг



Ох, ладно, по пойдем по порядку

Цитата:
Дядя Миша писал:
Здесь приходится полагаться на практику, крайний пик навряд ли превысит 1.2 - 1.5.

Это очень странное допущение. Например, рядом с ярким источником пик может быть и 10, и 20.
Цитата:
Дядя Миша писал:
3. Здесь есть потенциальная проблема, что некоторые слишком тёмные люксели могут потенциально стать ниже 1 1 1 и соответственно превратиться в 0 0 0.

Потенциальная проблема в том, что диапазон, который сейчас записывается в 0-255, будет ужат, например, в 0-100, а потом разжат обратно, и вместо плавного перехода вылезут ступеньки.
https://i.ytimg.com/vi/cGijQgw18e0/hqdefault.jpg
Цитата:
Дядя Миша писал:
4. При рендеринге умножаем лайтмапу обратно на наш множитель. Фокус тут в том, что дальше мы умножаем её на диффузку, поэтому итоговое значение не превысит 0-255, даже при рендеринге в RGBA8.

Точно имел в виду то, что написал? Лайтмапа (200 200 200) * множитель 2 * диффузка (200 200 200) = (314 314 314)
Цитата:
Дядя Миша писал:
Я ж почему и сказал, что это чем-то похоже на BFN, там ведь тоже весь трюк сводится примерно к тому же самому.

BFN работает только потому что нормали - единичные вектора.
Цитата:
Дядя Миша писал:
148 тысяч прямых и наверное около миллиона вторичных пополусфере

Как много. А что такое вторичные по полусфере?

Сообщить модератору | | IP: Записан
Сообщение: 195572

Старое сообщение 09-07-2020 17:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32189
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
ncuxonaT писал:
диапазон, который сейчас записывается в 0-255, будет ужат, например, в 0-100

Ты не читаешь, что я пишу. Ты слушаешь только себя. Вот откуда ты взял, что я собираюсь ужимать диапазон до 0-100? Бесполезный разговор, я не буду больше ничего объяснять.

Цитата:
ncuxonaT писал:
Лайтмапа (200 200 200) * множитель 2 * диффузка (200 200 200) = (314 314 314)

Откуда ты эти числа выковырял? В особенности множитель.

Цитата:
ncuxonaT писал:
BFN работает только потому что нормали - единичные вектора.

не забудь рассказать это Крайтеку, они оценят.

Цитата:
ncuxonaT писал:
А что такое вторичные по полусфере?

Опять придуряешься? Индирект от солнца собрать.

148 тысяч трасс, это кстати немного. Рейтрейсер на них тратит 0.3 секунды. Дерево дольше строится.

Добавлено 09-07-2020 в 22:20:

Вот статистика по рейтрейсеру (время его работы включает так же и сам процесс освещения, но думаю этим можно прнебречь, т.к. основное время уходит именно на трассировку)
Цитата:

137502 total traces
EmitDirectLight: time: 0.304986 secs

Это чисто прямой свет. 1 люксель = 1 трасса. 137 тысяч лучей

Цитата:

19250687 total traces
EmitDirectLight: time: 49.967801 secs

Включил индирект, выпуск лучей по полусфере. 19 миллионов лучей

Цитата:

49861097 total traces
EmitDirectLight: time: 96.683332 secs

Индирект + sun spread. 49 миллионов лучей.

Все замеры проводились в однопоточном режиме. Рейтрейсер, напомню, вальвовский, переделанный обратно с SSE2 на FPU. Я потестил оригинал и скорость его работы была в пределах халфовского BSP-дерева почему-то. Т.е. достойно, но ожидалось явно большее. Тогда я его переписал обратно на FPU, исправил несколько ошибок и делений на ноль (вроде как SSE2 к подобным вещам относится индиффиррентно) и ВНЕЗАПНО получил прирост скорости более чем в 10 раз.

Добавлено 09-07-2020 в 22:25:

Кстати обратите внимание. Наш Психопат уже тогда спрашивал "что значит по полусфере". То есть он просто издевается или нарочно наши слова к сведению не принимает. Слушает только себя, как я и говорил. Нам такие товарищи точно не нужны. Пусть отдохнёт в бане некоторое время.

Добавлено 09-07-2020 в 23:03:

Смотрю вот в исходники q3map2 фейк на фейке. Все эти девиансы, джиттеры и прочее, в конечном итоге сводятся к тому, чтобы нагенерить параметрических лампочек. Но есть один важный аспект - когда я буду дублировать этот лайтмаппер на GPU в реалтайме, работать с такими фейковыми лампочками будет куда быстрее и удобнее, нежели с честными формулами. Плюс оно еще и со всеми кваками совместимо по получившемуся освещению. Попробую солнышек нагенерить, дурацкое дело нехитрое.

Добавлено 10-07-2020 в 00:14:

То что слева - интерпретировало deviance как sunspred и честно выпускало лучи по полусфере. А skyLight в свою очередь, отправился в diffuse_light. 49 миллионов трасс, считалось 2 минуты 30 секунд в одном потоке.
То что справа - методы из ку3\q3map2, через слэш, потому что первым это всё же придумал Кармак, а потом эту идею развили и углубили. 18 фековых солнц. Два с половиной миллиона трасс, считалось 5 секунд в одном потоке.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 195578

Старое сообщение 09-07-2020 21:14
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Мораль не совсем очевидна. Т.е. параметрические лампочки вместо честных формул это хорошо (по крайней мере в контексте прицела на GPU) а параметрические солнца вместо трейсов до скайдома это плохо?

Цитата:
Дядя Миша писал:
То что слева - интерпретировало deviance как sunspred и честно выпускало лучи по полусфере. А skyLight в свою очередь, отправился в diffuse_light. 49 миллионов трасс, считалось 2 минуты 30 секунд в одном потоке.
То что справа - методы из ку3\q3map2, через слэш, потому что первым это всё же придумал Кармак, а потом эту идею развили и углубили. 18 фековых солнц. Два с половиной миллиона трасс, считалось 5 секунд в одном потоке.

Я сначала смотрел на правую картинку как на более совершенную потому что там тень выделяет кривизну под холмиком, а теперь уже и не знаю.

Добавлено 10-07-2020 в 09:36:

Цитата:
ncuxonaT писал:
FiEctro вот тема про лампочки, на каком скрине бензиновые разводы? https://csm.dev/threads/radius-osve...alf-life.38602/

Ни на каком, там либо все каналы одинаковые, либо есть только один, поэтому эффект не проявляется.

Добавлено 10-07-2020 в 10:04:

Цитата:
Дядя Миша писал:
Кстати обратите внимание. Наш Психопат уже тогда спрашивал "что значит по полусфере". То есть он просто издевается или нарочно наши слова к сведению не принимает.

Да это смахивает на культуру какого-нибудь Хабра: сразу начинать задавать кучу вопросов докладчику, просто по привычке.

Сообщить модератору | | IP: Записан
Сообщение: 195586

Старое сообщение 10-07-2020 03:04
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 07:35. Новая тема    Ответить
Страницы (240): « Первая ... « 104 105 106 107 [108] 109 110 111 112 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024