DirectX / HLSL错误PS2.0

时间:2011-04-01 17:29:20

标签: directx hlsl

我收到此错误

Shader在依赖关系链中使用纹理寻址操作,该关联链对于目标着色器模型(ps_2_0)来说过于复杂。

因为我已将此行添加到我的pixelshader:

浮高斯[NUMWT] = {5.052271056506993e-15,9.134720359492243e-12,6.07588281731559e-9,0.0000014867195067797903,0.00013383022504883334,0.004431848388225362,0.053990966224306644,0.2419707232244606,0.39894227826685835,0.2419707232244606,0.053990966224306644,0.004431848388225362,0.00013383022504883334,0.0000014867195067797903,6.07588281731559e- 9,9.134720359492243e-12,5.052271056506993e-15};

这个数组太大了吗?

2 个答案:

答案 0 :(得分:2)

这一位

  

Shader使用纹理寻址操作

可能是解决问题的关键。错误是否没有行和字符编号?

在复杂路径(可能是分支)中查找从纹理采样或计算位置的位置。

答案 1 :(得分:1)

使用ps_2_0(将NUMWT定义为17)对我进行了快速测试和数组编译很好,所以我猜你的错误在其他地方。

为什么处理这样的“小”数组有什么问题呢?纹理要大得多。