2
我有一個奇怪的問題與webGL。WebGL:數據到非方形alpha紋理
我使用的動態生成的紋理只有alpha通道很重要。 下面的代碼:
var texture = new Uint8Array(ar); // ar is my array
gl.bindTexture(gl.TEXTURE_2D, this.transparencyTexture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.ALPHA, array.length, array[0].length, 0, gl.ALPHA, gl.UNSIGNED_BYTE, texture);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
我一直在使用一個POT陣」‘寬度’和‘高度’,但只要‘寬度’<>‘高度’這是行不通的。所以它目前只適用於正方形。
可以做些什麼?
編輯:
http://jsfiddle.net/SergeJcqmn/EAmjU/9/
似乎是一個瀏覽器錯誤,但很難知道沒有更多的細節。例如,你的紋理座標是什麼?你從'gl.getError()'得到什麼?它是如何在視覺上出現的? – prideout 2013-03-04 02:19:36
只是好奇,但'array.length,array [0] .length'?所以你有一個2維數組在JavaScript中?這與'ar'有什麼關係? – gman 2013-03-04 17:37:56
我提供了正確的座標(也用於其他紋理)。 gl.getError()返回0.它僅顯示爲vec4(0,0,0,0)像素/片段。 – Serge 2013-03-05 19:15:54