相关疑难解决方法(0)

可以从WebGL纹理对象轻松创建HTML图像元素吗?

我想获取我已经渲染的WebGLTexture对象并使用它来创建HTML图像元素.目标是显示屏幕外渲染过程的结果以进行调试.它应该比将纹理渲染到全屏四边形(我目前的调试方法)容易得多.

在WebGL中,从图像元素创建纹理非常简单:

var image = new Image();
image.src = "myImg.jpg";

// image loads...

var texture = gl.createTexture();
gl.bindTexture(texture);
gl.texImage2D(_gl.TEXTURE_2D, 0, _gl.RGBA, _gl.RGBA, _gl.UNSIGNED_BYTE, image);
Run Code Online (Sandbox Code Playgroud)

图像加载和解码完全由您完成.

是否有类似的简单方法来反向?即:

// This doesn't work
var img = new Image(texture);

// But maybe this could
var img = createImageFromTexture(texture);

function createImageFromTexture(texture) {
    // ... some combination of tricks ...
}
Run Code Online (Sandbox Code Playgroud)

如果有办法做到这一点,我相信它将在调试之外的上下文中有用.我会继续看看我是否能找到办法,但我觉得有人必须先尝试过这个.

webgl

12
推荐指数
2
解决办法
8259
查看次数

从WebGL纹理中读取像素

我有一个WebGLTexture对象.如何获得该纹理的像素(类似于WebGL的readPixels,但是纹理)?

我的一个想法是使用preserveDrawingBuffer = true创建画布和WebGL上下文,并在此画布上渲染我的纹理,使其显示2D平面,然后使用readPixels.这种方法合理吗?有没有人有这样的示例代码?

textures webgl

12
推荐指数
1
解决办法
7234
查看次数

标签 统计

webgl ×2

textures ×1