DirectX11: передавать данные из ComputeShader в VertexShader? - PullRequest
6 голосов
/ 29 октября 2010

Можно ли применить фильтр к геометрическим данным, которые должны отображаться с помощью Compute Shader, а затем использовать результат в качестве входного буфера в Vertex Shader?Это избавило бы меня от необходимости (и времени) чтения данных.

Любая помощь очень ценится.

1 Ответ

4 голосов
/ 29 октября 2010

Да, абсолютно.Сначала вы создаете два идентичных ID3D11Buffer структур с использованием флагов использования BIND_VERTEX_BUFFER, BIND_SHADER_RESOURCE и BIND_UNORDERED_ACCESS и связанных с ними БПЛА и SRV.

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

Затем во время прохода отрисовки вам просто нужно привязать буфер назначения к этапу IA.Вы можете поиграть в пинг-понг, если вам нужно накапливать вычисления на вершинах (я предполагаю, что под фильтром вы подразумеваете функциональную карту для ссылки на термин «функциональное программирование»).

...