执行 gl.texSubImage2d 失败
Failed to execute gl.texSubImage2d
我试图在 Chrome 上将数据从 GPU 驻留缓冲区加载到 WebGL2 中的纹理中。如果可能,我想避免将数据复制进出 GPU。
我正在尝试使用以下调用顺序
// WebGL 2:
void gl.texSubImage2D(target, level, xoffset, yoffset, format, type, GLintptr offset);
记录在此处 https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texSubImage2D -- 但我总是得到
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);
查看实际规格:
https://www.khronos.org/registry/webgl/specs/latest/2.0/
你不能很好地拥有一个“texSubImage2D”函数,它不能以某种方式获取宽度和高度。
我编辑了 MDN 文章以修复该函数签名
我试图在 Chrome 上将数据从 GPU 驻留缓冲区加载到 WebGL2 中的纹理中。如果可能,我想避免将数据复制进出 GPU。
我正在尝试使用以下调用顺序
// WebGL 2:
void gl.texSubImage2D(target, level, xoffset, yoffset, format, type, GLintptr offset);
记录在此处 https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texSubImage2D -- 但我总是得到
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);
查看实际规格:
https://www.khronos.org/registry/webgl/specs/latest/2.0/
你不能很好地拥有一个“texSubImage2D”函数,它不能以某种方式获取宽度和高度。
我编辑了 MDN 文章以修复该函数签名