在后期处理中,我在FXAAShader之后添加了CopyShader,即使FXAA被禁用也能正确呈现(例如:webgl_postprocessing2.html)。
~
renderer.setSize( 320, 240 ); // not full screen
~
fxaa = new THREE.ShaderPass( THREE.FXAAShader );
fxaa.uniforms[ 'resolution' ].value = new THREE.Vector2( 1 / 320, 1 / 240 );
composer.addPass( fxaa );
var effect = new THREE.ShaderPass( THREE.CopyShader );
effect.renderToScreen = true;
composer.addPass( effect );
此代码效果不佳,渲染图像小于预期。
我正在使用r58并通过Firefox20确认。我该怎么办?
答案 0 :(得分:3)
width
的{{1}}和height
必须与THREE.EffectComposer.renderTarget
的{{1}}匹配。
为此,您需要创建自己的WebGLRenderer
并将其传递给renderTarget
构造函数。
EffectComposer
小提琴:http://jsfiddle.net/uxeez/4/
three.js r.58