3d 无法执行gl.texSubImage2d
我正在尝试将数据从GPU驻留缓冲区加载到Chrome上WebGL2的纹理中。如果可能的话,我希望避免在GPU中复制数据 我正在尝试使用以下调用序列3d 无法执行gl.texSubImage2d,3d,html5-canvas,gpu,webgl,3d,Html5 Canvas,Gpu,Webgl,我正在尝试将数据从GPU驻留缓冲区加载到Chrome上WebGL2的纹理中。如果可能的话,我希望避免在GPU中复制数据 我正在尝试使用以下调用序列 // WebGL 2: void gl.texSubImage2D(target, level, xoffset, yoffset, format, type, GLintptr offset); 这里有记录,但我总是 Failed to execute 'texSubImage2D' on 'WebGL2RenderingContext': No
// WebGL 2:
void gl.texSubImage2D(target, level, xoffset, yoffset, format, type, GLintptr offset);
这里有记录,但我总是
Failed to execute 'texSubImage2D' on 'WebGL2RenderingContext': No function was found that matched the signature provided.
以下是有关呼叫设置的更多信息:
var target = gl.TEXTURE_2D;
var level = 0;
var xoffset = 0;
var yoffset = 0;
//var height = this.height;
//var width = this.width;
var format = gl[this.format];
var gl_type = gl[this.typ];
//var srcData = array;
//var srcData = 0;
//var srcOffset = 0;
var offset = 0;
// https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texSubImage2D
gl.bindTexture(target, this.gl_texture);
// ERRORS:
gl.texSubImage2D(target, level, xoffset, yoffset, format, gl_type, offset);
在非常类似的代码中,下面的调用序列(从数组缓冲区复制)可以正常工作
gl.texSubImage2D(target, level, xoffset, yoffset, width, height, format, gl_type, srcData, srcOffset);
有人知道我做错了什么吗?据我所知,所有参数都是有效的(但我知道webGL错误消息通常会误导)。是否有任何使用上述7个参数调用序列的示例代码有效?我没有找到任何例子。提前感谢。MDN是错误的。没有任何功能
void gl.texSubImage2D(target, level, xoffset, yoffset, format, type, GLintptr offset);
请参见实际规格:
你不可能有一个“texSubImage2D”函数,它不会以某种方式计算宽度和高度
我编辑了MDN文章以修复该函数签名