Задумался я тут про деферред шейдинг и про форвард+. В обоих случаях лайты куллятся в зависимости от расстояния. Если на определенном расстоянии вклад лайта в освещение становится ниже порога, то лайт обрывается, и, например, в деферреде он рисуется как сфера соответствующего радиуса.
Но этот подход не годится для спекуляра, так? Диффузное освещение от какой-нибудь свечки становится несущественным на расстоянии 1-2 метров, тогда как блик от неё хорошо видно и с 10 метров. Получается, при деферреде спекуляр всегда калечный?
ну ты же видел реализацию лайтов в параное. Никаких квадов там не рисуется, амбиент-пасс для каждого пикселя накапливает влияющие лайты, до 8 штук на пиксель. Там нет овердрава, оно всё в один проход разрешается, включая и тени.
Че-то мне поплохело эт этой демки, кстати. Это какой-то рай для 3д сканов и/или безумных збрашеров. Ну а кто еще такую детализацию запилит - или фотограмметрия, или бесконечный скульптинг.
Ну а для простых пацанов - тягание брашей в Волатиле
__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша не видел, ты ж говорил, что деферред не доделан. Делаешь проход, чтобы записать каждому пикселю индексы лайтов, которые на него влияют? А следующим проходом уже рассчитываешь освещение? Тогда по какому принципу отбираешь лайты в первом проходе? Все вообще перебираешь?
ncuxonaT писал: не видел, ты ж говорил, что деферред не доделан
Не доделан, имелось в виду, что нету полупрозрачных поверхностей. А так-то всё работает, включи да посмотри gl_deferred 1.
Цитата:
ncuxonaT писал: Делаешь проход, чтобы записать каждому пикселю индексы лайтов, которые на него влияют?
там двояко. Если тени рендерятся в полном разрешении, то индексы лайтов пишутся прямо в амбиент-пассе. А если в четвертном, то да, доп. проход делается для низкого разрешения, ну потому что даунсэмплинг там делает только хуже, нельзя сэмплить нелинейные элементы.
Цитата:
ncuxonaT писал: Тогда по какому принципу отбираешь лайты в первом проходе? Все вообще перебираешь?
Вот я просто уверен, что пишу в пустоту. Ну или в Чапаева, как вариант.
Никто не читает абсолютно. Компилятор света строит визлайтматрицу виду [num_lights * num_surfaces], где для каждого лайта можно тут же узнать, какие сурфейсы он освещает, с учётом окклюзии. Сама операция очень простая - ну если при рассчёте лайтмапы прямой свет добил до сурфейса, очевидно этот лайт для него виден. Т.е. просто в нужном месте ставится бит.
Для подвижных объектов естественно в реалтайме считается. Т.е. это такая динамика с предрассчётами. Ну зато настоящий рейтрейсинг и довольно-таки быстро по моим личным меркам конечно. У Барнеса (автора Quake2XP) этот мой дефферед на титане выдавал под 400 фпс, што довольно ниплохо.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Думаю в недалёком будущем когда можно будет делать мелкую воксельную сетку и художники с моделерами не понадобятся. Можно будет задать определённый свод правил и генерировать объёмы по определённому алгоритму. Что локации, что персонажей. А если сюда ещё приплести специально обученную нейронку, выйдет ИМХО вполне интересно, с помощью той же нейронки можно и обучать этих персонажей перемещаться по локации.
Делать игры где мир будет формироваться не человеком, а самими объектами внутри него. Грабить корованы e.t.c.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Government-Man
Ничего, но в силу низкого разрешения воксельной сетки, выглядеть оно будет ... скажем на любителя.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Вспоминаются старые демки Тома Добровольского (кореша Кена Силвермана) с воксельными ландшафтами, которые можно было расстреливать. Дал бы ссылку, но ресурс уже здох.