Можно ли использовать DirectX11 Dynamic Shader Linkage без Shader Reflections?

Я попытался реализовать динамическую привязку шейдеров из того, что я видел в SDK DirectX11, но они используют структуру Effects11 и отражения шейдеров. Я пытаюсь получить более чистую более низкоуровневую реализацию. Например, для буфера констант вместо использования отражения, я только что установил структуру. Я не смог найти нигде четкого руководства о том, как реализовать динамическую связь шейдеров в DirectX, все используют огромные куски кода Effects11.


person ulak blade    schedule 14.02.2013    source источник


Ответы (2)


Можно использовать динамическую привязку шейдеров в directx11 без использования отражения шейдеров, однако это означает, что вам нужно знать имена классов и интерфейсов во время компиляции.

Я добился этого сам, используя комбинацию макросов препроцессора шейдеров, которые я использую для объявления всех своих классов шейдеров, и общий заголовочный файл, который я включаю как в свой шейдер, так и в мой файл .cpp.

person alanw    schedule 16.02.2013

Я тоже искал эту проблему. Проверьте это: https://msdn.microsoft.com/en-us/library/windows/desktop/ff471421(v=vs.85).aspx

Может быть, это поможет. :)

person AntiMoron    schedule 19.03.2015