我正在尝试在我的几何着色器中实现行进立方体algorythm。所以我将我的datagrid放入Texture3D。现在我想在几何着色器中查找数据,这会产生错误“无法将表达式映射到gs_4_0指令集”
这是他拖曳错误的代码行
cubeVale[0] = dataFieldTex.Sample( samPoint, float3(k, j, i)).a;
我希望有人可以帮助我。
TY
答案 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级别。