2010-12-02 117 views
1

我试图在OpenGL ES中绘制迭代函数。一个int数组正在更新,迭代函数给定像素点击的频率。我想将这个密度数组传递给一个片段着色器,并用它来绘制覆盖整个屏幕的简单四边形的结果。将int数组传递给片段着色器

我的问题是:我可以直接传递这个阵列到着色器作为均匀并通过使用gl_FragCoord来查找密度为给定的位置

生成像素应当我而是使用该阵列通过使用GL_LUMINANCE创建带有一个通道的纹理,并将其传递给着色器?

回答

4

由于不是所有的GPU都支持非恒定索引,因此可用的制服数量有限,并且索引可能很麻烦。 2D Nx1贴图没有任何这些问题,但会将值返回到[0,1]范围内。您可以缩小该值以获取原始整数并使用它。

+0

为什么不使用1D纹理而不是2D 1xN纹理? BTW-你能指定哪些GPU不支持非常量索引吗?肯定是有用的知道:) – Kos 2010-12-04 18:05:27

相关问题