Войти
COC DevBlogФорум

Тест тесселяции и геометрических шейдеров (комментарии)

#0
11:57, 5 янв. 2011

Тест тесселяции и геометрических шейдеров (комментарии)

Это сообщение сгенерировано автоматически.


#1
11:57, 5 янв. 2011

Геометрический шейдер ограничен максимальным к-вом компонентов, которые он может создавать. На моей 8600M GT это было где-то 1024 компоненты. Если декларация вертекса содержит даже 8 компонент (что в принципе маловато для нормального рендер пайплайна), то максимальное к-во вертексов, которые ты сможешь заэмитить в один пас - 128 (1024/8), а треугольников где-то 42 (стрипами чуть больше конечно).

Как ты это делаешь?)

Помню я как-то сферку строил на геометрическом шейдере с расчетом нормалей, uv и тангента. В один пас никак не построишь с достаточным степом, чтоб сферка на сферку была похожа).

По поводу TBN. Лучше всегда экспортить в файл модели. Есть нестандартные ситуации, когда аналитически его нельзя вообще правильно рассчитать (например, когда художник сделал миррор половины модели и редактор перевернул для этой части систему координат). Майкрософт правда для XBox'a требует расчет TBN'а на этапе загрузки. Но гемора с этим много).

#2
12:21, 5 янв. 2011

dez01
Про TBN я как бы в курсе, всегда читал его из Collada, просто из modo он не сохраняется, максимум нормали, поэтому пришлось считать.
Ну и художник может попробовать такой и такой варианты, какой ему больше понравится, понятно что генерация при загрузке хуже.

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

#3
13:42, 18 фев. 2011

На Radeon это работает, тестил?

#4
13:48, 18 фев. 2011

Неа, не тестировал.
У меня нет поблизости ни одного нормального Radeon.:(
В любом случае, надо брать нормальную карту с нормальной тесселяцией.

Вот здесь есть пример, он должен нормально работать на amd/ati.

#5
5:07, 19 фев. 2011

Igroman
> Вот здесь есть пример, он должен нормально работать на amd/ati.
Неа, не работает. Даже шейдеры не компилятся.


У меня просто проблема в том, что не могу протолкнуть больше, чем 7 вершин по 2 вектора в каждом. Если на выход 16 vec4 или больше, то драйвер зависает.
Я уверен, если бы эта демка работала на AMD, то крашилась постоянно, так как на выход тут гораздо больше данных.

#6
9:32, 19 фев. 2011

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

#7
11:11, 19 фев. 2011

А что, у них разве есть примеры геометрических шейдеров для OpenGL?
Карта Radeon 4870, поддерживает геометрические шейдеры она хорошо.

#8
20:17, 19 фев. 2011

Вот про amd не знаю.
Ну да, эта карта должна держать их нормально, но о причине такого поведения я больше даже не знаю что сказать.:(

COC DevBlogФорум

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