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

Directx 12 вопросы. (29 стр)

Страницы: 124 25 26 27 28 29
#420
(Правка: 16:44) 16:41, 14 мая 2021

HolyDel
> Потому, что сама по себе задача - динамически менять winding - она странная
Ну почему? Например при моделировании решеток - вывернул модель и посмотрел ее изнутри. Если убрать кулинг ты это не сделаешь, а динамически меняя - пожалуйста.


#421
16:52, 14 мая 2021

san
> решить задачу "ИМЕННО ТАК как ее запрашивали"
Раз уж ты такой буквоед, то ронника запрашивал динамическое управление флагом куллинга, а ты предложил ему жонглировать порядком вершин - это тоже не одно и то же. Да, эффект похожий - так у gl_FrontFacing и скалярного произведения тоже похожий эффект.

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

#422
(Правка: 21:56) 19:39, 14 мая 2021

phridrich
>ты предложил ему жонглировать порядком вершин - это тоже не одно и то же.
Это одно и то же поскольку работает тот же самый механизм отбраковки вершин на стадии Vertex Post-Processing.

>Геометрический шейдер был создан для нетривиальной трансформации геометрии с целью разгрузить вершинный шейдер
Да ну? И как же ты на вершинном шейдере можешь сделать то, что позволяет геометрический, даже "нагрузив" его? Задача геометрического шейдера не "разгрузить" вертексный, а иметь доступ ко всем трем вершинам треугольника, манипулировать ими и создавать новые вершины при необходимости. Ничего подобного вертексный шейдер не может делать в принципе.

> Включать по такому поводу дополнительную стадию пайплайна - это оверкилл.
Эта стадия пейплайна в любом случае "включена" на то она и стадия пейплайна. Просто если ты ее не переопределяешь, то вершины передаются как есть, без обработки. В любом случае простое переставление местами двух вершин никак на производительности не скажется.

#423
8:02, 15 мая 2021

HolyDel
> только с VK_EXT_extended_dynamic_state вроде?
ну да

#424
11:26, 15 мая 2021

san
> Эта стадия пейплайна в любом случае "включена" на то она и стадия пейплайна.
Нет, не включена. Тесселяция тоже стадия пайплайна и тоже не включена. На нормальном железе GS уже давно эмулируется.

#425
(Правка: 12:51) 12:31, 15 мая 2021

DXC возвращает "resource ... could not be allocated" на StructuredBuffer<> в пиксельном шейдере. Это как так?
В вершинном все работает, в вулкане тоже.

upd: у меня был runtime-sized array который должен быть в отдельном спейсе, тупой компилятор не может этого сказать

#426
8:23, 16 мая 2021

Dampire
Тесселяция тоже эмулируется?
/A\
А что за шейдер? fxc компилит?

#427
13:20, 16 мая 2021

Andrey
Тесселяция тоже опциональная стадия.
https://www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview

#428
15:13, 16 мая 2021

Andrey
> А что за шейдер?
Texture2D    g_Textures[];
StructuredBuffer<MaterialAttribs> g_Materials;
Тут оба ресурса используют текстурный регистр, а из-за динамического массива компилятор не может автоматически поставить регистр для материалов. Но понятно написать ошибку кто-то из разработчиков компилятора не смог.

Страницы: 124 25 26 27 28 29
ПрограммированиеФорумГрафика