Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
3d 无法执行gl.texSubImage2d_3d_Html5 Canvas_Gpu_Webgl - Fatal编程技术网

3d 无法执行gl.texSubImage2d

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

我正在尝试将数据从GPU驻留缓冲区加载到Chrome上WebGL2的纹理中。如果可能的话,我希望避免在GPU中复制数据

我正在尝试使用以下调用序列

// 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文章以修复该函数签名