Three.js是否支持OES_texture_float?

yon*_*nan 5 floating-point textures three.js webgl-extensions

我想渲染浮动纹理的位置或深度.我用

vsnTexture = new THREE.WebGLRenderTarget(window.innerWidth, window.innerHeight,
            { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBAFormat ,type:THREE.FloatType }); 
Run Code Online (Sandbox Code Playgroud)

作为渲染目标.

然后,我测试了

var gl = this.renderer.getContext();
    if( !gl.getExtension( "OES_texture_float" ) ){
        console.error( "No OES_texture_float support for float textures!" );
    } 
Run Code Online (Sandbox Code Playgroud)

并没有发现任何错误.Chrome支持OES_texture_float,我进入THREE.js:

_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );
 //console.log(glType);
Run Code Online (Sandbox Code Playgroud)

当我设置WebGLRenderTarget时,我发现glType = 5126(gl.FLOAT):type:THREE.FloatType.这意味着我可以使用OES_texture_float.我有什么不对吗?因为我设置的类型:THREE.FloatType或使用默认值(THREE.UnsignedByteType),我都得到相同的渲染纹理.我没有OES_texture_float正确使用?

mrd*_*oob 3

是的,它确实。这个例子展示了如何使用它:

http://trijs.org/examples/#webgl_gpgpu_birds