DirectX:使用纹理的顶点着色器

时间:2013-04-10 07:55:50

标签: graphics 3d directx textures vertex-shader

我是图形编程的初学者。我遇到了一个从纹理创建“ResourceView”的情况,然后将此资源视图设置为VS Resource。总结一下:

CreateTexture2D( D3D10_TEXTURE2D_DESC{ 640, 512, .... **ID3D10Texture2D_0c2c0f30** )
CreateShaderResourceView( **ID3D10Texture2D_0c2c0f30**, ..., **ID3D10ShaderResourceView_01742c80** )
VSSetShaderResources( 0, 1, [**0x01742c80**])

我们在顶点着色器中使用纹理时的情况和时间?有人可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:3)

这完全取决于你想要达到的效果。

如果要单独为顶点着色,通常会使用顶点颜色分量。但没有什么能阻止你从纹理中采样颜色。 (除非它可能更慢。)

另外,不要让这个名字欺骗你。 纹理不仅可以用于着色。它们基本上是预先计算的功能。例如,您可以使用Textue1D提交波浪功能来为衣服或摇曳的草/毛皮制作动画。由于它是一个纹理,你可以为你绘制的每个对象使用不同的波,而无需切换着色器。

Direct3D开发人员希望为您提供最大的灵活性。这包括在所有着色器阶段使用纹理资源。