5

フローティング テクスチャに位置または深度をレンダリングしたいと考えています。私が使う

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

レンダー ターゲットとして。

次に、テストしました

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 をサポートしており、THREE.js にステップ インします。

_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_texture_float を使用できることを意味します。何か問題がありますか?type:THREE.FloatType を設定しても、デフォルト (THREE.UnsignedByteType) を使用しても、どちらも同じレンダリング テクスチャを取得するためです。OES_texture_floatを正しく使用していませんか?

4

1 に答える 1

3

はい、そうです。次の例は、その使用方法を示しています。

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

于 2014-06-10T07:59:40.827 に答える