2016-09-29 20 views
0

我試圖從紋理複製一些數據到VBO。我真的不知道,如果即時通訊做是正確的,也沒有我的理解公益是什麼,但我有這樣的事情:webgl2將數據從pbo移動到vbo大小限制

gl.bindFramebuffer(gl.FRAMEBUFFER, this.fb); 

gl.bindBuffer(gl.PIXEL_PACK_BUFFER , this.vbo); 
gl.readPixels(0,0, this._numVerts * 2 , 1 , gl.RGBA , gl.FLOAT , 0); 

其中,據我可以告訴作品。

雖然我在gl.readPixels矩形的大小感到困惑。是否有可能讀取任意數量的像素?

說我想讀GL_MAX_TEXTURE_SIZE + 1?我可以讀整行,但是我能做些什麼關於餘數的問題,有沒有辦法提供一個偏移量,並用多個讀取操作?

即,

gl.readPixels(0,0, textureWidth , someNumberOfRows , gl.RGBA , gl.FLOAT , 0); 

//? something like bufferSubData 

gl.readPixels(0, someNumberOfRows, remainder , 1 , gl.RGBA , gl.FLOAT , 0); 

回答

1

簡短的回答是沒有。 AFAICT您只能讀取矩形的數據,並且必須以整個像素讀取。

也許考慮向上舍入到整行或更改您的輸出以適應最小的矩形。