sub*_*754 2 javascript opengl-es webgl
我正在尝试使用Uint8Array渲染图像并获取WebGL:INVALID_OPERATION:texImage2D:ArrayBufferView对于请求而言不够大。
var gl = currentImage.gl;
gl.activeTexture(gl.TEXTURE0);
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, columns, rows, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, Buffer);
Run Code Online (Sandbox Code Playgroud)
在少量图像上,它可以正常工作,但是它抛出的ArrayBuffer不足以引起少量图像的请求错误。
但是,如果我从列和行中减去1,它可以正常工作,但图像会倾斜。但是,我可以维护2D画布并将其推入GPU,但是我不想维护它,因为它会降低性能,因此我需要不必要地照顾画布。
这是从1减去后的工作原理。
var gl = currentImage.gl;
gl.activeTexture(gl.TEXTURE0);
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, columns-1, rows-1, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, Buffer);
Run Code Online (Sandbox Code Playgroud)
我是在做错什么还是错过了什么?
我怀疑问题纹理的宽度不能除以4,并且您没有考虑UNPACK_ALIGNMENT。
尝试
gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1613 次 |
| 最近记录: |