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

Декали на ландшафте (выложено демо от 10.07.2009) (3 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#30
13:48, 27 июня 2009

В КОХ у них эти кружочки вообще геометрией сделаны, судя по скрину в посте 18...

#31
16:07, 27 июня 2009

Хм... я обычно делал так:
создаю полоскость (6х6 полигон), при загрузки сцены. А потом уж перемещаю по пронстранству, выдавливая точки по точкам ландшафта, которые находятся под ним (примерно, конечно). Конечно, этот способ походит на способ DEN 3D, только там плоскость создаётся каждый раз.
А так, в зависимости от случая я за шейдеры ;).

#32
16:31, 27 июня 2009

Вот меня смущает это "выдавливать", каждый раз при изменении положения данные в вершинном буфере менять? Можно конечно наверное прикрутить VTF, но както не вижу особых плюсов по сравнению с моей достаточно помоему лёгкой реализацией...

#33
17:39, 27 июня 2009

Даже на скриншоте в 0 посте видно, что там не кружочки, а многоугольники. Т.е. геометрия.
Насчет изменения вершинного буфера -- а что в этом плохого? Рендер таргет менять не надо, так что все в порядке. Текст и вообще GUI, например, так выводится обычно в гораздо больших объёмах.

#34
18:00, 27 июня 2009

Mirage
> Даже на скриншоте в 0 посте видно, что там не кружочки, а многоугольники. Т.е. геометрия.

Да вроде никто и не утверждал обратного...

> Насчет изменения вершинного буфера -- а что в этом плохого?

Это относительно медленно ИМХО...
Гонять данные по шине... Хотя... Их не так уж и много, чтобы было страшно...

#35
18:10, 27 июня 2009

помоему проще всего и экономнее сделать фигуру которая будет окружать обьект и зделать что-то типо стенсильной тени ток вершины вытягивать не от источника света а тупо вниз приэтом всё будет работать довольно быстро

#36
19:04, 27 июня 2009

Chaos_Optima
Интересное решение... Надо взять на заметку... :)

#37
19:18, 27 июня 2009

Executor
> Это относительно медленно ИМХО...

Это фантастически быстро в сравнении с текстурой 1024x1024.

#38
20:50, 28 июня 2009

Mirage
> Это фантастически быстро в сравнении с текстурой 1024x1024.

Не верю, но буду проверять... :)

Поднял фпс до 177 (вместо 120) с 1000 штук декалей, это я ландшафт оптимизировал чуток, теперь малость подделаю, попробую под кеш чтоб шоколадно было и тогда займусь декалями с помощью геометрии, тогда и посмотрим, что быстрее будет...

#39
16:03, 4 июля 2009

Всё таки не могу догнать, как сделать декали геометрией? Не в том смысле, что не могу понять как саму геометрию построить, а в том смысле как это всё организовать?
Декали могут быть любых размеров... Соответственно минимум 4 вершины, максимум 262144 вершин... Количество, поидее должно быть не ограниченным, но даже тысячей пусть ограничим... Получается 4000-262144000 вершин... Не много ли 200 лямов вершин на какието декали? Да и в один большой вершинный буфер оно не влезет? Ограничивать размеры? Ладно... Пусть самый большой декаль будет 64х64 на ландшафте... Получается опять же сумма астрономическая - буфер для 4ёх лямов вершин... Ну ладно, можно пойти на жертвы, ограничив 100 декалей... 400к на какието декали? И всё таки не пойму преимуществ по сравнению с моим способом, который не имеет ограничений вообще... Может объясните как правильно делается?

#40
18:13, 4 июля 2009

Что за ограничения? бред какойто ты откуда такое количество взял?никак не пойму для круга можно использовать например 50 вершин 100 декалей это всеголиш 5000 вершин  + если их индексировать то получится и того меньше откуда ты взял 400 000 вершин непойму бред какойто

#41
19:23, 4 июля 2009

>на какието декали?
так не делай их вовсе если они "какие-то". А если они очень важны, то не стоит жалеть на них память.
>400к
примерно 20мб, оно того стоит?

#42
19:38, 4 июля 2009

Chaos_Optima
> Что за ограничения? бред какойто ты откуда такое количество взял?никак не пойму
> для круга можно использовать например 50 вершин 100 декалей это всеголиш 5000
> вершин + если их индексировать то получится и того меньше откуда ты взял 400
> 000 вершин непойму бред какойто

Чем больше декаль, тем больше на неё надо вершин, чтобы она корректно огибала ландшафт, так?
Если взять декаль размером 64х64 (не размер текстуры, а имеется ввиду размер занимаемого куска ландшафта), то это 4096 вершины на которые натянута текстура кружочка, квадратика или какогонить ацкого взрыва, не суть важно... Умножаем 4096 на их количество, то бишь на 100, получаем 409600 = ~400k вершин размером 64х64 на сотню декалей...

Adler
> примерно 20мб, оно того стоит?

При этом надо отрисовать 400к вершин, что совсем не пустяк... При этом эти 400к надо ещё каждый кадр обновлять, что вообще ппц...

#43
20:03, 4 июля 2009

сделай набор из 16 вершин т.е. в данном случае это будет покрывать 9 тайлов которые ложится круг выбора, расстановка этого квадрата элементарная, соответственно на каждую точку ландшафта свою точку из набора вершин ну и чуть повыше
у этих квадратов будет прозрачная текстура, ставь этот квад так чтобы полностью покрывал позицию юнита, ну и накладывай на него текстуру круга выбора в нужном месте, что сложного то
накладывание текстуры круга делается если че правкой текстурных коордсов

#44
20:11, 4 июля 2009

ashujon
> сделай набор из 16 вершин т.е. в данном случае это будет покрывать 9 тайлов
> которые ложится круг выбора, расстановка этого квадрата элементарная,
> соответственно на каждую точку ландшафта свою точку из набора вершин ну и чуть
> повыше
> у этих квадратов будет прозрачная текстура, ставь этот квад так чтобы полностью
> покрывал позицию юнита, ну и накладывай на него текстуру круга выбора в нужном
> месте, что сложного то

А если я хочу чтобы они были больше, чем 4х4?

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумГрафика

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