フローティング テクスチャに位置または深度をレンダリングしたいと考えています。私が使う
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
を正しく使用していませんか?