【发布时间】:2015-11-27 04:56:33
【问题描述】:
我有一个带有强度值的 unsigned char[4096][4096] 数组,我想将它们正确地传递给片段着色器。
虽然我似乎需要glVertexAttribPointer()(我猜这是因为我需要片段中的数据,而不是顶点着色器)或glTexImage2D() 和type = GL_UNSIGNED_BYTE,但我无法达到预期的结果。
由于在其中使用了浮点/整数向量,我发现的示例对我也没有帮助。
如何从片段着色器访问字节数组数据?
【问题讨论】:
-
只有在强度数据绑定到顶点时才可以使用 vertetxAttribute(当然不是这样)。所以纹理解决方案是可以的,您可以使用正常的采样函数(...纹理(...))访问您的数据。
-
您通常只能拥有 16 个左右(如何计算数字是相当神秘的)顶点属性,因此 4096x4096 会远远超出此范围,即使它适合这种情况。