{{notification.text}}

MirGames

Ptr
28.01.09 03:43
0
Вопросик собственно такой: как сделать soft shadows?
Как я понял в двиге такая возможность не заложена. Если бы примерчик на паскале (под делфу), именно для делфы, потому что на С++ валом, только я вот переделать не могу их сам :( Там бы уже сам в двиг вклеял....

Вот один из них : http://depositfiles.com/files/mt0jpeu1t - если кто сможет это скомпилировать на Delphi буду очень признателен :) !!!
#1
Программир Всия Руси!
28.01.09 23:52
0
Эм, а чего тебе хочется то?
#2
Ptr
29.01.09 00:34
0
Хочется тени сделать :)
В принципе разницы нет как это делать, главное чтобы aliasinga не было (фильтр может какой прикрутить) и фпс не рубило сильно. Я сам в OGL не сильно шарю, больше по сис. программингу.

По тому примеру что я выложил: там тени вполне удовлетворительные (по их виду) на сколько я понял это и есть Soft Shadows. Перевести на паскаль сорцы я его не в силах.... к сожалению :(
#3
Программир Всия Руси!
29.01.09 02:44
0
То что ты выложил - очень навороченные Shadow Volumes кроме id software так никто сейчас не делает..

К DGLE есть пример с тенями, лучше вряд ли на нем сделать можно.
#4
Ptr
29.01.09 03:29
0
а можно ли как то сгладить края теней, чтобы они были не такими квадратичными?
#5
Ptr
29.01.09 03:33
0
Вот еще один пример http://depositfiles.com/files/yc51sz4dq
Может можно его как то доработать, чтобы заблюрить края теней? Фильт может какой-то приспособить?
#6
Студент
29.01.09 03:49
0
Ptr, хорошие тени. Но если стенсил - увы, без особо сложных алгоритмов вроде Penumbral Wedges здесь не обойтись. В принципе, и такие тени хорошие, но тут они тупо черные, было бы неплохо их уможать на цвет приёмника.
p.s. Как это сделать средствами DGLE - без понятия.
#7
аксакал
29.01.09 04:32
0
Средствами DGLE делается также как и без средств DGLE... т.е. очень просто, при помощи рендера в текстуру. А именно, рендерим объект со стороны источника в текстуру, затем полученную текстуру блюрим сначала горизонтальным сдвигом, затем вертикальным (также рендером в текстуру). Полученную текстуру проекционно накладываем на геометрию.
Получаем размытую теньку по типу этой, без самозатенения, без использования шейдеров.
Отредактировано: 29.01.09 04:38
#8
29.01.09 05:57
0
Цитата(Ptr @ Сегодня, 01:33)
[snapback]92359[/snapback]
Вот еще один пример http://depositfiles.com/files/yc51sz4dq
Может можно его как то доработать, чтобы заблюрить края теней? Фильт может какой-то приспособить?

Погугли по теме PCF. Тут что-то на эту тему писалось.
#9
29.01.09 13:20
0
Цитата
Но если стенсил - увы, без особо сложных алгоритмов вроде Penumbral Wedges здесь не обойтись.

Как не обойтись? :)
http://gamedev.ru/articles/?id=30115&page=5
#10
Ptr
29.01.09 14:54
0
Ну что ж... спасибо всем за советы, прийдется разбираться в OGL более глубоко, я так понял иначе дела не будет :)
#11
29.01.09 20:58
0
XProger что такое "блюрим"? а это можешь выложить сампл это демки?или дать линк)
#12
Программир Всия Руси!
29.01.09 21:39
0
2XProger твоя тенька - прошлый век ) двиг умеет такие делать есть пример и версии 1.0.
#13
Студент
29.01.09 21:51
0
DRON
Тем не менее, самые норм тени :) Чем шадов мапс лучше? Самозатенение в обмен на алиасинг :) Нафик такое счастье


Цитата(lans @ Сегодня, 14:58)
[snapback]92380[/snapback]
что такое "блюрим"?

Значит, размазываем.

Автору:
В ATi SDK вроде бы был пример, показывающий Screen-Space размытие.
#14
Программир Всия Руси!
29.01.09 22:59
0
2Pierre Kurochkin
ShadowMaps - быстрые и делать просто. Да косяки есть яркий пример ГТА4.

Попробуй сделать тени XProger'а на сложной сцене где много

объектов друг на друга уидают тень фпс в 0 и заколмажешься строить спискт на которые проецировать надо будет.
#15
Хранитель Флейма
29.01.09 23:09
0
DRON
Чую щас выскочит Прогир с демкой...
#16
29.01.09 23:54
0
Цитата(DRON @ Сегодня, 14:39)
[snapback]92381[/snapback]
2XProger твоя тенька - прошлый век

Оно конечно так, но я думаю, что приведено оное в качестве тривиального способа реализации мягкости (автор ведь именно этого хочет).

Цитата(petyakurochkin @ Сегодня, 14:51)
[snapback]92382[/snapback]
Тем не менее, самые норм тени Чем шадов мапс лучше? Самозатенение в обмен на алиасинг Нафик такое счастье

А отрисовка пер обджект в текстуру и чистка оной, это что ли гуд? А если рисовать скопом все в текстуру(или частями) то полезет злополучный алиасинг и здесь.

Такие тени, насколько я помню, юзались(юзаются?), например, для отрисовки теней от вентиляционных решеток(текстурко с альфой).
Сюда же:
Цитата(DRON @ Сегодня, 15:59)
[snapback]92385[/snapback]
объектов друг на друга уидают тень фпс в 0 и заколмажешься строить спискт на которые проецировать надо будет

+1

Цитата(DRON @ Сегодня, 15:59)
[snapback]92385[/snapback]
ShadowMaps - быстрые и делать просто

Это ты, конечно, пошутил видимо... ?
Простой рендер в один РТ это конечно просто и выглядет соответственно(цена = качество)...
Прикрутив один только PCF, сложность реализации возрасет в разы, а потом захочется PSM, а потом и PSSM, и что бы в каждом сплите был PSM и все это красиво блюрилось.
Зато выглядеть все это будет ничего так :)
#17
аксакал
30.01.09 03:09
0
DRON
В GTA 4 каскадные тени, с присущими им недостатками, которых лишены другие виды ShadowMapping технологий )
Никто не мешает мне рендерить объекты группами в тень, так что не понятно о каких "фпс в 0" идёт речь )
#18
Программир Всия Руси!
30.01.09 04:11
0
2XProger
Ну про ГТА там да, а теперь представь там свои тени или волюмы?
Вольюмы кстати гипотетически можно сделать но фпс сожрут они крепко, а вот твой подход не даст домикам бросать тени друг на друга например иначе придется делать списки и для каждого домика по текстуре. Что бы не быть голословным я делал тени как XProger говорит в одной игре своей и да - тени были и были при этом красивые но было 5 fps на маленькой карте... FBO и шейдеры я тогда не юзал...
#19
аксакал
30.01.09 05:03
0
DRON
Не думаю, что автор топика нуждается в столь изощрённых методах, судя по приведённым им примерам.
#20
Ptr
30.01.09 16:39
0
Мда.... медоты действительно занятные, буду копаться в литературе. Изучать OGL более углубленно, так мой уровень познаний данного API слишком мал, чтобы понять хотя бы половину из того, что вы мне советовали :) Не так все просто как казалось :(
Тени понадобятся конечно качественные, по этому решил разбираться во всем сам. Жаль конечно, что нет хоть какой-то автоматизации этого процесса в GPU :(
Отредактировано: 30.01.09 16:43
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}