Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Floating point Three.js是否支持OES\u纹理\u浮动?_Floating Point_Three.js_Textures_Webgl Extensions - Fatal编程技术网

Floating point Three.js是否支持OES\u纹理\u浮动?

Floating point Three.js是否支持OES\u纹理\u浮动?,floating-point,three.js,textures,webgl-extensions,Floating Point,Three.js,Textures,Webgl Extensions,我想渲染浮动纹理的位置或深度。 我用 作为渲染目标 然后,我进行了测试 var gl = this.renderer.getContext(); if( !gl.getExtension( "OES_texture_float" ) ){ console.error( "No OES_texture_float support for float textures!" ); } 没有发现任何错误。Chrome支持OES_texture_float,我分为三个部

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

作为渲染目标

然后,我进行了测试

var gl = this.renderer.getContext();
    if( !gl.getExtension( "OES_texture_float" ) ){
        console.error( "No OES_texture_float support for float textures!" );
    } 
没有发现任何错误。Chrome支持OES_texture_float,我分为三个部分:

_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );
 //console.log(glType);
设置WebGLRenderTarget:type:THREE.FloatType时,我发现glType=5126(gl.FLOAT)。这意味着我可以使用OES\u纹理\u浮动。我有什么不对劲吗?因为无论我设置什么类型:THREE.FloatType或使用默认值(THREE.UnsignedByteType),我都会得到相同的渲染纹理。
我是否正确地使用了
OES\u纹理\u浮动

是的,确实如此。此示例显示了如何使用它:


谢谢,@mrdoob我使用的例子来自。我设置了renderTarget gl.type。当调试到THREE.js时,我在这个.setRenderTarget函数中添加了console.log(glType);在设置帧缓冲区(renderTarget.\uu webglFramebuffer,renderTarget,\u gl.TEXTURE\u 2D)之后,我得到结果5126;if(glType==5126)if(_gl.checkFramebufferStatus(_gl.FRAMEBUFFER)!=_gl.FRAMEBUFFER_COMPLETE)警报(“您的bronser不支持将“+”浮点作为FBO的颜色附件”);我没有收到警报,这是不是意味着我收集使用总账浮动?
_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null );
 //console.log(glType);