ПрограммированиеФорумГрафика

Алгоритмы shadow map для больших площадей

#0
17:14, 21 ноя 2015

Всем привет. Не подскажите, какие алгоритмы sm позволяют получить тени на большой площади( желательно не использовать csm и pssm).
Все это ограничено opengl es 2.0

#1
18:01, 21 ноя 2015

mazahist
Можно поиграться с PSM, LISPSM но особо может не помочь. + фильтрация

#2
18:05, 21 ноя 2015

mazahist
http://www.gamedev.ru/code/articles/GPSM видел?

#3
18:06, 21 ноя 2015

mazahist
За большие площади забудь. Можно мухливать. От игрока тени хорошие, а дальше плохого качества.
Или спрайты-тени делать. Была игра про робота, но там вид был сверху и там рисовали робота и под ним 3д планку с текстурой тени. Если у тебя так каждый 3д объект будет делать, то тогда площадь может быть большая.
Иначе для большой площади нужна большая текстура под тень, что сильно посадит FPS рендера.


Еще ты можешь играть размерами(Scale) 3д моделей. К примеру на одной планке-земли ты можешь вывести 1 или 2 персонажа и объектов, а можешь вывести 10 маленьких персонажей и объектов.

#4
18:11, 21 ноя 2015

mazahist
> Не подскажите, какие алгоритмы sm позволяют получить тени на большой площади(
> желательно не использовать csm и pssm).
Лол. А может тебе еще нарисовать модельку так, чтобы модель не рисовалась?

#5
18:13, 21 ноя 2015

Лучше уж тогда кино показывать :)

#6
18:16, 21 ноя 2015

mazahist
> какие алгоритмы sm позволяют получить тени на большой площади
Не только тени но и Global Illumination можно получить, и неограниченное количество источников освещения, можно запилить без проблем, но они будут статичные.
Light Maps это.

#7
18:20, 21 ноя 2015

Да, Light Maps тоже не плохо. Но не всегда удобны. Особенно если какие то 3д модели изменят свою форму или будут разбиты\перемещины\исчезнут\повернуты.
Изображение

#8
19:13, 21 ноя 2015

Какой-то конкретный алгоритм не подскажу) Одновременно быстро и универсально сделать вряд ли получится. Тут нужно хаки какие-нибудь заюзать, в зависимости от положения камеры, типа освещения, сеттинга или геймплея. Может поделишься инфой, что такое там пилишь?)) Но, в целом: разделить статику и динамику. Для статической геометрии тени запекать, либо редко апдейтить в фоне. Для динамики на расстоянии юзать блобы те же, вблизи переходить на обычную sm. И т.п.

желательно не использовать csm

А почему нет? Что не так с каскадами на gles2? Вопрос только в том как оптимально заполнять/апдейтить инфу в каскадах. Если железо слабое, типа старых мобилок, то тут между sm и csm, размазанным во времени, разницы особой нет (что то тормозит, что это =)). Можешь еще попробовать поиграться с матрицей лайта в динамике с простым sm, чтобы большее разрешение sm получалось вблизи камеры, и меньшее на удалении.
-Eugene-
> Лол. А может тебе еще нарисовать модельку так, чтобы модель не рисовалась?
impostor

#9
19:34, 21 ноя 2015

Belfegnar
Уел!

#10
19:39, 21 ноя 2015

Урендерил :)
В хлам текстуру.

ПрограммированиеФорумГрафика

Тема в архиве.