![]() |
Страницы (22): « Первая ... « 9 10 11 12 [13] 14 15 16 17 » ... Последняя » Показать все 319 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Освещение в Source Engine (https://hlfx.ru/forum/showthread.php?threadid=5746)
Проблема тут в следующем. Для того, чтобы отражённый луч попал абсолютно во все люксели лучей должно быть бесконечное кол-во.
Здесь не работают никакие упрощения, никакой псевдорандом не спасает ситуацию. Мы выпускаем луч в надежде, что он куда-то попадёт, но куда мы предсказать не можем. Самое поганое то, что он может попасть уже в тот люксель, в который попал предидущий луч. И получается, работа была сделана впустую. Instant Radiosity предполагает обратный механизм - луч пускается от одного реального люкселя до всех люкселей, которые находятся в области его видимости. Т.е. мы просто берём все потенциально видимые люксели и между ними пускаем трассы, проверяя реальную видимость. Такой подход позволяет нам сделать одно переотражение света.
А вот чтобы переотражений было неограниченное кол-во нам необходимо построить трансферы - для каждого люкселя идёт массив всех видимых люкселей и значение энергии света, которое будет передано от одного к другому. Хотя одна еденица трансфера занимает довольно мало места, порядка 6 байт, в сумме получается гигантская матрица на гигабайты.
Т.е. надо очень много памяти. Но в наше время на мой взгляд такой подход более предпочтителен, нежели рейтрейсинг. Его проблема в глазах программистов, КМК в том, что это непрямой алгоритм со множеством стадий и на каждой стадии должна быть оптимальная реализация, иначе дерьмо получится. Рейтрейс наоборот прямой однопроходный механизм. Вот люксель, вот луч, пустил и всё.
А для Instant Radiosity нужно:
- конвертировать реальную геометрию в однородную сетку, желательно с боле-мене постоянным шагом, учитывая что на реальных сценах попадаются как объекты, состоящие из тысяч мелких треугольников, так и гигантские треугольники на пол-уровня.
- посчитать для получившейся сетки патчей матрицу трансферов
- самое сложное: используя финальные значения освещения в сетке попытаться корректно наложить их обратно на реальные люксели лайтмапы.
Второй этап самый прозрачный и простой в реализации, он везде одинаков. А вот первый и третий могут запороть всю идею.
Никто не хочет с этим возиться, просто.
Предвосхищая вопрос насчёт халфы и ку2 - там была конвексная планарная геометрия с большими квадратными полигонами.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Равномерность - условие необходимое, но недостаточное.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша недостаточное для чего? Как лучи попадут в один люксель, если все летят в разные стороны?
Недостаточное для получения качественной лайтмапы, очевидно же.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша
Расскажи подробнее про лайтпробы, что они в себе содержат кроме цвета?
В справке юнити есть только это:
The data includes: probe positions, Spherical Harmonics (SH) coefficients and the tetrahedral tessellation.
Что за сферические гармоники и тетраэдрическая тесселяция?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro https://ubm-twvideo01.s3.amazonaws....terpolation.pdf
Лайтпробы можно считать 3D-сеткой в пространстве для лукапа.
Для игрушечных сцен лайтпробу можно хранить в 3D-текстуре, у Хумуса была демка.
Что они в себе будут содержать - решать только тебе. Сферическая гармоника это способ хранения данных для произвольного направления.
Не на 100% точный, но более экономичный, чем кубемапа, обычно.
Хотя если памяти не жалко, можно и кубемапы юзать. Они проще для понимания.
А что такое тетраэдрическая тесселяция я не знаю. Тесселяция тетраэдрами, наверное.
Добавлено 11-11-2021 в 15:14:
ЗЫ. Добил я таки свой лайтмаппер, вчетверо отодвинул лимиты по памяти, улучшил производительность и соответственно появилась возможность ставить для индиректа сетку более высокого разрешения.
Для сталкеровских карт мне 2 GB памяти конечно не хватит, но для игрушечных карт из тех же халф и квейков, можно смело ставить разрещение индиректа равное разрешению прямого света и получать баланс по качеству. Уродливые круги на спонзе (не на спонзе, а вообще сам эффект), я тоже убрал.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
А как вообще работают эти гармоники? Почему нельзя задать просто точку с цветом в пространстве.
ncuxonaT
Уф сложно то как. Буду ковырять потихоньку. Я так понимаю её можно просто представить как меш сферы с вывернутыми определенным способом нормалями?
Добавлено 11-11-2021 в 18:08:
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 10:43. | Страницы (22): « Первая ... « 9 10 11 12 [13] 14 15 16 17 » ... Последняя » Показать все 319 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024