HLSL几何着色器纹理查找

时间:2011-07-04 11:06:32

标签: geometry directx shader

我正在尝试在我的几何着色器中实现行进立方体algorythm。所以我将我的datagrid放入Texture3D。现在我想在几何着色器中查找数据,这会产生错误“无法将表达式映射到gs_4_0指令集”

这是他拖曳错误的代码行

cubeVale[0] = dataFieldTex.Sample( samPoint, float3(k, j, i)).a;

我希望有人可以帮助我。

TY

1 个答案:

答案 0 :(得分:3)

Sample()仅适用于像素着色器,因为它通过获取纹理坐标的衍生物自动计算要使用的mipmap lod,并且衍生物仅在像素着色器中可用。

MSDN有一个list of texture object methods and the shader profiles they work in。对于gs_4_0配置文件,您的选择是Load(),SampleLevel()或SampleGrad()。您可能需要SampleLevel(),特别是如果您的Texture3D只有一个mip级别。