2010-12-02 106 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

相關問題