我有一个像素数组,这些像素是行主要或列主要,具体取决于配置,在接收之前我没有任何句柄。
所以,对我来说,转换javascript代码很容易,但我对如何在OpenGL着色器中移动它没有任何想法。
以下是要转移的javascript代码:
var MBytes = new Uint16Array(rows*cols);
var k = 0;
var p = 0;
var pos = 0;
for(var i=0;i<rows;i=i+1){
k = i*cols;
p = i;
for(var j=0;j<cols;j=j+1){
pos = k + j;
MBytes[pos] = incomingPixels[p];
p = p + rows;
}
}
答案 0 :(得分:0)
如果可以避免,请不要旋转实际的像素数据 - 这非常昂贵。只需更改纹理坐标,即可旋转逻辑访问。
通常,OpenGL ES纹理坐标左下角为0,0,右上角为1,1。我是否需要在屏幕上向左旋转90度,然后在坐标空间中向右旋转90度(因此应用程序的左上角为0,0,这将显示在屏幕的左下角)。
如果您还需要对Y-flip进行编码,则只需交换Y坐标。