在D3D10中在着色器的常量缓冲区中设置纹理

时间:2010-07-07 15:06:14

标签: c++ directx textures shader direct3d10

好的我在D3D10下编译了一个着色器。

我正在获取着色器反射以获取着色器中所有常量/全局变量的详细信息。但是我对某些东西感到有点困惑......如何将纹理设置为常量缓冲区?

我假设我不只是映射常量缓冲区并将ID3D10Texture指针复制到其中...我假设我使用的是ID3D10ShaderResourceView,但我只是不确定如何在常量缓冲区中设置它。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您不会将纹理绑定到常量缓冲区。您可以使用方法将纹理(通过视图)绑定到舞台(此处为GS舞台):

void GSSetShaderResources(
  [in]  UINT StartSlot,
  [in]  UINT NumViews,
  [in]  ID3D10ShaderResourceView *ppShaderResourceViews
);

视图和CB实际上是两个不同的东西。