我正在开发一个基于着色器的地形。使用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。
答案 0 :(得分:0)
您正在调用deviceContext-> PSSetShaderResources(0,1,& texture),
表示将纹理传递给像素着色器。 您需要使用
将纹理和采样器绑定到顶点着色器VSSetSamplers 和 VSSetShaderResources
代替。