我正在尝试在OpenGL ES中绘制迭代函数。正在更新一组int,其中迭代函数命中给定像素的频率。我想将此密度数组传递给片段着色器,并使用它将结果绘制在覆盖整个屏幕的简单四边形上。
我的问题是:我可以将此数组作为统一直接传递到着色器,并使用 gl_FragCoord 生成像素以查找给定位置的密度
或
我应该使用 GL_LUMINANCE 来使用数组创建一个包含一个通道的纹理并将其传递给着色器?
答案 0 :(得分:4)
您可以使用有限数量的制服,并且索引可能会令人不安,因为并非所有GPU都支持非常量索引。 2D Nx1纹理没有任何这些问题,但会将值返回到[0,1]范围。您可以缩小此值以获取原始整数并使用它。