WebGL:INVALID_OPERATION:readPixels:ArrayBufferView对于维度来说不够大

时间:2015-11-06 04:41:36

标签: javascript webgl glreadpixels

基本上我有200 X 200 px帆布,体素是20 X 20 X 20 px。所以我有100个体素。当我在画布上绘图时,我想看看绘制了哪个像素,如果该像素位于其中一个体素内,那么我将显示该体素。

voxelWidthPixel下方是体素宽度的像素数,而体素高度像素是体素高度的像素数。我使用循环,以便从(0,0)到(20,20)然后(0,20)到(20,40)然后(0,40)到(20,60)读取像素值最后到(180,160)到(200,180),然后到(180,180)到(200,200)。

{Rich}

不应该像素值是arrayBuffer,大小= 20 * 20 * 4 = 1600?因为我只读取(0,0)到(20,20)然后(0,20)到(20,40),所以从(0,0)到(20,20)的平方将是保持400像素。不应该像素值足以获得所有RGBA值吗?

1 个答案:

答案 0 :(得分:1)

gl.readPixels的第3和第4个参数是宽度和高度值。将endPixelXendPixelX替换为endPixelX-startPixelXendPixelY - startPixelY