2
我是图形编程的初学者。我遇到了一个“纹理视图”创建超出纹理的情况,然后将此资源视图设置为VS资源。总结:DirectX:使用纹理的顶点着色器
CreateTexture2D(D3D10_TEXTURE2D_DESC{ 640, 512, .... **ID3D10Texture2D_0c2c0f30**)
CreateShaderResourceView(**ID3D10Texture2D_0c2c0f30**, ..., **ID3D10ShaderResourceView_01742c80**)
VSSetShaderResources(0, 1, [**0x01742c80**])
当,什么是当我们使用纹理顶点着色的情况?谁能帮忙?
谢谢。
其实我看到的例子中,他们大多数情况下都使用'Texture1D'。所以你可以给你一些关于你正在谈论的wave函数的指针。 – 2013-04-10 09:20:49
想想正弦波。不用在着色器中计算'float sinX = sin(x)',你只需简单地从你的正弦函数查找纹理中抽取值:'float sinX = FunctionTexture.Sample(Sampler,x).r'。而且由于该函数在着色器中没有进行硬编码,所以可以使用任何可以打包成一维纹理(常量,噪声,渐变等)的数据。在这种情况下'x'将是纹理坐标。像素的颜色是函数值f(x)'。 – Lucius 2013-04-10 11:05:31