HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- OpenGL (https://hlfx.ru/forum/forumdisplay.php?forumid=7)
-- на пальцах (https://hlfx.ru/forum/showthread.php?threadid=2016)
Отправлено thambs 27-11-2009 в 04:07:
на пальцах
интересует не код, а наглядное объяснение как он строится. для точечных источников света понятно, а как для параллельных лучей типа солечных?
Отправлено Дядя Миша 27-11-2009 в 08:54:
Шадовмапы как раз-таки строятся именно для направленных лучей:
делается дополнительный renderpass для каждого источника.
А для всенаправленных - надо шесть проходов.
Впрочем если все тени смотрят в одну сторону можно обойтись и одним проходом я думаю. Или вообще "плющмодель" нарисовать.
И еще хочу заметить, что нельзя равнять эти проходы с проходами для зеркал например - мы ведь рендерим только студиомодельки, а не всю геометрию, следовательно - это гораздо бырее.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 27-11-2009 в 09:47:
Обычно рендерят всю геометрию, видимую источнику света, с учетом альфа-канала текстур (чтобы получить тени от решеток).
Но я, несмотря на шадовмапы в хлфх 0.5, считаю себя идеологически выдержанным партийным работником старой закалки поклонником теневых объемов, поэтому вряд ли смогу рассказать детально про различные фишки.
Добавлено 27-11-2009 в 15:47:
http://steps3d.narod.ru/tutorials/s...p-tutorial.html - тут вроде неплохо написано.
__________________
Отправлено thambs 27-11-2009 в 12:55:
это я читал. вопрос возник, когда в некоторых играх видел шадоумапные тени от солнца, те в паралельных лучах -- ведь для них получается приходится строить рендер диких размеров? или я что то не так понимаю.
>Или вообще "плющмодель" нарисовать.
а это что?
Отправлено XaeroX 27-11-2009 в 13:02:
Цитата:
thambs писал:
ведь для них получается приходится строить рендер диких размеров?
Почему же диких? Просто игрок оказывается в центре рендера, и вокруг него тени самые качественные, а чем дальше к краю - тем они хуже.__________________
Отправлено Дядя Миша 27-11-2009 в 14:27:
Цитата:
XaeroX писал:
чтобы получить тени от решеток
ну это при условии, что брашевые модельки тоже отбрасывают тени.
Я только про студиомодельки говорил.
Потому что тот же компилятор от ку3 позволяет получить отличные статические тени от решеток.
Цитата:
thambs писал:
>Или вообще "плющмодель" нарисовать.
а это что?
Ну халфовские тени например - которые по r_shadows 1 вызываются.
Термин вроде бы FiEctro придумал, но я не уверен.
thambs основная проблема шадовмап - это их качество.
Чем меньше вьюпорт дополнительного прохода - тем хужы качество теней. Ну и у борескова что-то было про конечную точность буффера глубины и про PCF-фильтрацию, там выше Ксерокс сцылку давал.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 27-11-2009 в 15:18:
Цитата:
Дядя Миша писал:
Потому что тот же компилятор от ку3 позволяет получить отличные статические тени от решеток.
Ага, позволяет. Только КОЕ-КТО тут постоянно ругался, что в волатиле бсп-шники весят много. А для отличных теней они еще в 4 раза больше весить должны.
Цитата:
Дядя Миша писал:
ну это при условии, что брашевые модельки тоже отбрасывают тени.
У тебя уже все, мозг полностью на фейк-методы свернулся?
Цитата:
Дядя Миша писал:
Ну и у борескова что-то было про конечную точность буффера глубины и про PCF-фильтрацию
PCF-фильтрация это технология прошлого века. Уже давно как минимум VSM используют.__________________
Отправлено Дядя Миша 27-11-2009 в 19:44:
Цитата:
XaeroX писал:
Только КОЕ-КТО тут постоянно ругался, что в волатиле бсп-шники весят много
В ку3 ничего подобного незамечено
Цитата:
XaeroX писал:
У тебя уже все, мозг полностью на фейк-методы свернулся?
Я экономлю фпс для действительно нужных вещей. Например для тех же реалистичных брекаблей на ньютоне.
Цитата:
XaeroX писал:
PCF-фильтрация это технология прошлого века
Если честно - что то гамно, что то. Визуально я имею в виду.
Мягкие тени в Волатиле горазо симпатичнее. Еслиб еще и не тормозило 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 27-11-2009 в 19:46:
Цитата:
Дядя Миша писал:
В ку3 ничего подобного незамечено
В ку3 тени от мелких решеток будут ужасны. А если поставишь маленький samplesize - упрешься в лимит лайтмапов. В волатиле лимит намного выше, поэтому и карты весят больше.
Цитата:
Дядя Миша писал:
Мягкие тени в Волатиле горазо симпатичнее. Еслиб еще и не тормозило
А если их размывать не по 3х3 боксфильтру, а по гауссу, то вообще супер будет. Но фпс...__________________
Отправлено Дядя Миша 27-11-2009 в 19:47:
Цитата:
XaeroX писал:
В ку3 тени от мелких решеток будут ужасны.
так ведь и шадовмапы - не фонтан в этом смысле. Другое дело, что технология в принципе позволяет.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 27-11-2009 в 22:14:
Дядя Миша в принципе да, для статики шадовмапы = лайтмапы. Разница только в том, что в них легко можно рендерить тени от динамики, а в лайтмапу нельзя. А текстурную память они так же жрут дай боже.
__________________
Отправлено Дядя Миша 28-11-2009 в 09:59:
Цитата:
XaeroX писал:
Разница только в том, что в них легко можно рендерить тени от динамики, а в лайтмапу нельзя.
У меня где-то демка с фруструма валялась - динамические лайтмапы с блуром. Как промежуточное решение - вполне себе неплохо.
Мягкие динамические тени с приличным ФПС. Правда достоверность затенения хромает.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 28-11-2009 в 10:19:
Дядя Миша но ты, конечно же, не обратил внимания на то, сколько эта демка требует видеопамяти, особенно если проэкстраполировать демо-коробку на серъезный игровой уровень?
__________________
Отправлено Дядя Миша 28-11-2009 в 13:08:
XaeroX там одна динамически изменяемая лайтмапа 256х256.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 28-11-2009 в 13:16:
Дядя Миша ну я понимаю, что там - одна. А в реальной пятиэтажной карте, где на каждом этаже куча комнат - сколько надо будет лайтмапов?
__________________
Отправлено Дядя Миша 28-11-2009 в 17:18:
XaeroX думаю столько же сколько и для статики.
Никто не заставляет менять лайтмапу для статических источников, только для динамики.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 28-11-2009 в 18:04:
Дядя Миша
Лично я прекращаю оффтоп, ибо наши с тобой диалоги в стиле "Ты в баню? Нет, я в баню. А, я думал, ты в баню" надоели не только другим форумчанам, но и мне самому.
__________________
Отправлено Дядя Миша 29-11-2009 в 06:53:
XaeroX ладно, проехали.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SourceSkyBoxer 04-05-2013 в 16:30:
Здравствуйте, русские разработчики
может я вас спрашиваю? Где я могу получить источник тени и оказать для Half-Life SDK Visual Studio 2008?
Или это просто из источника Enigne в золоте источник?
Спасибо за ваш ответ!
Мне жаль, что я перевел в Немецко-русско-с Google.
Выходные пожелания! 
__________________
Здравствуйте, хорошие люди, я
из Германии, и я прощаю тебя,
что я глухой. Я просто хочу,
чтобы писать по-английски.
Мне очень жаль. Я не могу
написать хороший русский
язык.
Отправлено XaeroX 04-05-2013 в 18:03:
SourceSkyBoxer
The translation is hard to comprehend, please write in English.
Oder in Deutsch, wie es dir beliebt.
__________________
Отправлено Garux 09-05-2015 в 10:05:
Цитата:
XaeroX писал:
В ку3 тени от мелких решеток будут ужасны. А если поставишь маленький samplesize - упрешься в лимит лайтмапов.
Не совсем правда, т.к. компилятор позволяет рассчитывать очень большие внешние лайтмапы (например, для эксперимента посчитал 16384*16384).
Реально православный quake3.exe соглашается грузить максимум 1024*1024, а допилки, навроде ioq3, 2048*2048, чего более чем достаточно даже для минимального samplesize.
Но и с внутренними лайтмапами не всё так плохо, благодаря тому, что на отдельных func_group они не склеиваются в одну.
Нашинковать поверхность помельче и вуаля - в нужном месте высокодетальная тень, ня.
Отправлено XaeroX 09-05-2015 в 12:39:
Garux
Некропостер не смог пройти мимо давешней несправедливости? 
Когда я говорю о ку3 - я говорю о немодифицированном Quake3 и компиляторе q3map. Если же я говорю о q3map2 или каких-либо модификациях движка - то всегда это уточняю.
Конечно, все знают, что в ку3 лайтмапы собирает компилятор и можно задрать размер блока хоть до 16384. Ну, значит, упрёшься в лимит видеопамяти. Лайтмапа 16384х16384, например, занимает 768 Мб. А в референсном q3map лимит 128х128.
Цитата:
Garux писал:
Реально православный quake3.exe соглашается грузить максимум 1024*1024
А вот это странно. Ты в этом уверен? В коде нет никаких ограничений, кроме значения GL_MAX_TEXTURE_SIZE - но это уже лимит видеокарты, никакой ioq3 его обойти не сможет.__________________
Отправлено Garux 09-05-2015 в 14:12:
Больше полезноты в познавательном форуме!
Не все знают, что можно сделать внешние лайтмапы для немодифицированного q3.
Цитата:
XaeroX писал:
В коде нет никаких ограничений, кроме значения GL_MAX_TEXTURE_SIZE
Сто раз проверял на практике, квадраты больше 1024 отвергаются (1024*2048 ещё лезет)
2048*2048: Z_Malloc: failed on allocation of 16777240 bytes from the main zone
Интересно, что некоторые модификации, никак не затрагивающие рендерер, позволяют грузить 2048*2048
полюбопытствовал: q3map + квайк3.ехе
Отправлено XaeroX 09-05-2015 в 14:47:
Цитата:
Garux писал:
Больше полезноты в познавательном форуме!
Да ну его, этот ку3. Я в нём окончательно разочаровался.
Цитата:
Garux писал:
Не все знают, что можно сделать внешние лайтмапы для немодифицированного q3.
Кто не знает - поднимите руки. Я серьёзно. Любой школьник, наверное, в курсе, что ку3 хранит лайтмапы как текстуры прямиком в бсп-файле.
Цитата:
Garux писал:
2048*2048: Z_Malloc: failed on allocation of 16777240 bytes from the main zone
com_zoneMegs в помощь.
Цитата:
Garux писал:
полюбопытствовал: q3map + квайк3.ехе
Что сказать-то хотел? 
__________________
Отправлено Garux 09-05-2015 в 15:42:
Цитата:
XaeroX писал:
Да ну его, этот ку3. Я в нём окончательно разочаровался.
Ошибкой было позволить себя очаровать
Цитата:
XaeroX писал:
com_zoneMegs в помощь.
Не помогает. Но, что характерно, дефолтный zonemegs в тех модификациях, могущих в 2048*2048, больше.
Цитата:
XaeroX писал:
Что сказать-то хотел?
Очевидно, сносные лайтмэпные тени, даже с сетом из коробки.
Отправлено XaeroX 09-05-2015 в 16:39:
Цитата:
Garux писал:
Не помогает.
Ну как не помогает? Ты его через командную строку ставишь, надеюсь? Он на этапе инициализации движка используется.
Цитата:
Garux писал:
Очевидно, сносные лайтмэпные тени, даже с сетом из коробки.
При определённых условиях, особенно на карте-коробке, можно получить сносные тени от решёток, я этого и не отрицаю. Даже, говорят, можно статичный бамп в q3map2 сносный получить (лично у меня - не получалось, не выставляя мелкий samplesize, а тогда время компиляции становится огромным и карта весит десятки мегабайт). Но тема-то не об этом.
Добавлено 09-05-2015 в 22:39:
Цитата:
Garux писал:
Ошибкой было позволить себя очаровать
У меня был период, когда я оценивал движок исключительно по крутости рендера. Что поделаешь, молодости свойственен максимализм. 
__________________
Отправлено Garux 09-05-2015 в 17:17:
Цитата:
XaeroX писал:
Ну как не помогает? Ты его через командную строку ставишь, надеюсь? Он на этапе инициализации движка используется.
Да, правильно выставляю, и выставляется.
А с ioq3 эффект есть, удалось загрузить 4096*4096
Цитата:
XaeroX писал:
При определённых условиях, особенно на карте-коробке, можно получить сносные тени от решёток, я этого и не отрицаю.
Не вижу препятствий получать их в любом случае.
Ну разве что карта 128*128к целиком из решёток xD Тогда, пожалуй, только внешние лайтмапы в джипеге.
Отправлено XaeroX 09-05-2015 в 17:43:
Цитата:
Garux писал:
Ну разве что карта 128*128к целиком из решёток xD
Нет, просто samplesize глобальный. А ты предлагаешь делать специальные шейдеры под решётками с заниженным samplesize-ом? Извини, но это называется "онанизм".
Впрочем, в ку3 онанизма много. Взять хотя бы переключение шейдеров от кнопок-триггеров.__________________
Отправлено Garux 09-05-2015 в 18:08:
Цитата:
XaeroX писал:
А ты предлагаешь делать специальные шейдеры под решётками с заниженным samplesize-ом?
_lightmapscale на func_group, misc_model - локальный множитель samplesize
Отправлено XaeroX 09-05-2015 в 18:13:
Garux
Я понимаю, что авторы q3map2 сделали много примочек, чтобы облегчить жизнь онанистам. Но это не меняет сути.
__________________
Отправлено Garux 10-05-2015 в 07:09:
Ви так говорите, будто это что-то плохое
По мне, так любой геймдев - онанизм тот ещё.
Ну, ок, в лучшем случае петтинг.