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

показать пересечение геометрий в форвард рендере на мобилке (2 стр)

Страницы: 1 2
#15
8:16, 18 фев. 2018

kinyz
Не каждый, а как я уже написал "первый и последний", в общий шейдер.
Квад один раз на проход отрисовывается также как и зоны, а сколько у тебя будет отдельных пересекающихся зон?
Иначе говоря каждую свою зону умножай на 4, а не на 2.

2 зоны по 4 прохода = 8 (N*4)
2 зоны по 2 прохода и квад 2 прохода = 6 (N*2 + 2)

А то что в юнити батчинги лишние нарисуються, так их вообще можно к нулю свести и тормоза неимоверные будут. В любом случае на один проход на мобилке отдельный drawcall, отдельно они по шейдерам разбросаны или вместе без разницы.


#16
16:16, 18 фев. 2018

foxes
теоретически у нас на проекте таких зон в пиковом значении может быть 8, событие маловероятное, конечно, в среднем 4
я разбил всё на отдельные шейдеры, вроде бы ок работает, батчиться в 4 дроукола динамически, если использовать простую геометрию

#17
19:19, 18 фев. 2018

Знаешь если зоны у тебя всегда сферы, то можно геометрию совсем выкинуть, точнее заменить на квады. Если бы на андроиде можно было бы геометрические шейдеры свободно юзать я бы вообще точками обошелся.

#18
19:28, 18 фев. 2018

foxes
и как получить сферическое выделение зоны без сферы? или ты имеешь ввиду первый и последний проход квадами-билбордами?

#19
20:22, 18 фев. 2018

kinyz
пересечение луча со сферой

#20
23:12, 18 фев. 2018

foxes
это как вообще?

#21
15:55, 19 фев. 2018

kinyz
в пиксельном шейдере используя позицию вершины считаешь лучь, брешь центр фигуры за центр сферы X, считаешь пересечение луча со сферой в центре X радиус R, устанавливаешь значение глубины для Cull Back одна точка пересечения для Cull Front другая.

#22
18:59, 19 фев. 2018

foxes
это выгоднее чем просто геометрию использовать? сферки из 55 точек хватает

#23
19:06, 19 фев. 2018

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

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

#24
20:55, 19 фев. 2018

foxes
ну на мобилках геометрические шейдеры не алё, для старого железа, которого подавляющее большинство, гарантировано не варик

Страницы: 1 2
ПрограммированиеФорумГрафика

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