顶点纹理提取始终返回0

时间:2013-09-30 10:03:13

标签: directx-11 vertex-shader terrain

我正在开发一个基于着色器的地形。使用VTF在顶点着色器中获取高度数据。我的问题是当我在顶点着色器中采样高度图时,返回的值始终为零。

Texture2D texture;
SamplerState sampleType;
float height = texture.SampleLevel(sampleType, float4(input.tex, 0, 0), 0);

从BMP文件(256x256x24bit)加载纹理,使用D3DX11CreateShaderResourceViewFromFile(device,heightmap,NULL,NULL和& texture)函数,并使用deviceContext-> PSSetShaderResources(0,1和& texture)传递给顶点着色器。功能级别为D3D_FEATURE_LEVEL_10_0,着色器配置文件为vs_4_0。

1 个答案:

答案 0 :(得分:0)

您正在调用deviceContext-> PSSetShaderResources(0,1,& texture),

表示将纹理传递给像素着色器。 您需要使用

将纹理和采样器绑定到顶点着色器

VSSetSamplersVSSetShaderResources

代替。