Тест тесселяции и геометрических шейдеров (комментарии)
Это сообщение сгенерировано автоматически.
Геометрический шейдер ограничен максимальным к-вом компонентов, которые он может создавать. На моей 8600M GT это было где-то 1024 компоненты. Если декларация вертекса содержит даже 8 компонент (что в принципе маловато для нормального рендер пайплайна), то максимальное к-во вертексов, которые ты сможешь заэмитить в один пас - 128 (1024/8), а треугольников где-то 42 (стрипами чуть больше конечно).
Как ты это делаешь?)
Помню я как-то сферку строил на геометрическом шейдере с расчетом нормалей, uv и тангента. В один пас никак не построишь с достаточным степом, чтоб сферка на сферку была похожа).
По поводу TBN. Лучше всегда экспортить в файл модели. Есть нестандартные ситуации, когда аналитически его нельзя вообще правильно рассчитать (например, когда художник сделал миррор половины модели и редактор перевернул для этой части систему координат). Майкрософт правда для XBox'a требует расчет TBN'а на этапе загрузки. Но гемора с этим много).
dez01
Про TBN я как бы в курсе, всегда читал его из Collada, просто из modo он не сохраняется, максимум нормали, поэтому пришлось считать.
Ну и художник может попробовать такой и такой варианты, какой ему больше понравится, понятно что генерация при загрузке хуже.
Обычно делаю, это же просто тест, ничего не более, для чего-то серьёзного ещё пилить и пилить. В основном хотел подобное сделать для лиц персонажей и террейна, но на геометрическом шейдере, как ты уже сказал, далеко не уйти. Это явно не будет основным способом, просто хотелось попробовать, а железо OGL4 не держит видео.
На Radeon это работает, тестил?
Неа, не тестировал.
У меня нет поблизости ни одного нормального Radeon.:(
В любом случае, надо брать нормальную карту с нормальной тесселяцией.
Вот здесь есть пример, он должен нормально работать на amd/ati.
Igroman
> Вот здесь есть пример, он должен нормально работать на amd/ati.
Неа, не работает. Даже шейдеры не компилятся.
У меня просто проблема в том, что не могу протолкнуть больше, чем 7 вершин по 2 вектора в каждом. Если на выход 16 vec4 или больше, то драйвер зависает.
Я уверен, если бы эта демка работала на AMD, то крашилась постоянно, так как на выход тут гораздо больше данных.
Вай, что-то у них там совсем страшное.
Но с выходными данными тормоза и на NV, но ты и сам видел, что там значительно больше информации на выходе.
Может сама карта плохо поддерживает геометрические шейдеры? А от вендора примеры тоже падают чтоли?
А что, у них разве есть примеры геометрических шейдеров для OpenGL?
Карта Radeon 4870, поддерживает геометрические шейдеры она хорошо.
Вот про amd не знаю.
Ну да, эта карта должна держать их нормально, но о причине такого поведения я больше даже не знаю что сказать.:(
Тема в архиве.