2010-10-29 2 views
6

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

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

ответ

4

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

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

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

+0

Спасибо, звучит хорошо. – testalino