相关疑难解决方法(0)

WebGL从浮点渲染目标中读取像素

例如,在WebGL中渲染浮点纹理的支持级别方面存在一些混淆.OES_texture_float扩展似乎并不强制要求它,因为可选支持FLOAT纹理作为FBO附件(不推荐使用),但看起来有些供应商继续实施它.因此,我的基本理解是渲染到浮点纹理实际上可以在非ES桌面环境中工作.我无法直接从浮点渲染目标中读取.

我的问题是,是否有一种方法可以使用WebGLContext :: readPixels()调用和Float32Array目标从浮点纹理中读取?提前致谢.

附件是一个成功读取字节纹理的脚本,但浮动纹理失败:

<html>
<head>
<script>
function run_test(use_float) {
    // Create canvas and context
    var canvas = document.createElement('canvas');
    document.body.appendChild(canvas);
    var gl = canvas.getContext("experimental-webgl");

    // Decide on types to user for texture
    var texType, bufferFmt;
    if (use_float) {
        texType = gl.FLOAT;
        bufferFmt = Float32Array;
    } else {
        texType = gl.UNSIGNED_BYTE;
        bufferFmt = Uint8Array;
    }

    // Query extension
    var OES_texture_float = gl.getExtension('OES_texture_float');
    if (!OES_texture_float) {
        throw new Error("No support for OES_texture_float");
    }

    // …
Run Code Online (Sandbox Code Playgroud)

webgl

10
推荐指数
3
解决办法
7971
查看次数

THREE.js:从THREE.WebGLRenderTarget获取数据

ATHREE.Texture可以用作材质中的贴图,并且具有称为“图像”的属性。ATHREE.WebGLRenderTarget可以用作材质中的贴图,但不具有称为“图像”的属性。

我如何从 a 检索纹理数据WebGLRenderTarget?我想将其保存到文件中(或者,如果不可能,则保存为字节数组)。

render-to-texture three.js

5
推荐指数
1
解决办法
4344
查看次数

标签 统计

render-to-texture ×1

three.js ×1

webgl ×1