1

如果我在已初始化为 texture2d 的纹理上从我的像素着色器调用 tex1d ,它将把数据视为一维数组,然后只在您指定的任何位置获取元素?

例如,如果你有一个 10 x 10 的纹理(这将是一个长度为 100 个元素的一维数组)并且你调用 tex1d(mySampler, 0.95) 它会给你返回元素 95 吗?

4

1 回答 1

1

我想你会发现这句话(关于 DirectX 9,这是 XNA 的基础)相关:

因为运行时不支持 1D 纹理,所以编译器将使用 2D 纹理,并且知道 y 坐标并不重要。由于 tex1D(s, t) (DirectX HLSL) 是作为 2D 纹理查找实现的,因此编译器可以以有效的方式自由选择 y 分量。

换句话说:您指定 X 坐标,而 Y 坐标未定义。

这里

所以,不,它不会打开索引。但是你已经得到了关于如何做到这一点的答案

于 2011-11-17T01:53:16.477 回答