我在Three.js WebGLRenderer视图的左下角看到了这个奇怪的纹理弹出窗口:
它显示了我用于模拟的其中一个纹理,虽然它有一些噪音(有时它已经显示没有噪音)。
它不是在JavaScript中创建的DOM元素。它嵌入在WebGLRenderer中。
我认为这是由readPixels()
电话触发的。问题是我无法找出确切的原因:一些readPixels()
调用触发了这个,有些则没有。
我不确定这是由于Three.js还是WebGL。以前有人遇到过这个问题吗?
编辑:我正在使用的readPixels()
来电:
//create a Uint8Array to store the read data
var pixelByteData = new Uint8Array(width * height * 4);
//get context
var gl = renderer.getContext();
//bind texture to gl context
gl.bindFramebuffer(gl.FRAMEBUFFER, myRenderTarget.__webglFramebuffer);
//read pixels
gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixelByteData);
//unbind
gl.bindFramebuffer(gl.FRAMEBUFFER, null);