我正在尝试将 FXAA 与效果器配合使用,但无法使其正常工作。
这是场景,它是如何由 WebGLRenderer 渲染的:http: //imageshack.us/a/img515/143/rendererscene.png
这是使用 EffectComposer 的相同场景:http: //imageshack.us/a/img849/5336/composerscene.png
它只显示纹理。
我的代码结构如下:
renderer = new THREE.WebGLRenderer({ antialias : true });
renderer.shadowMapEnabled = true;
renderer.shadowMapSoft = true;
renderer.shadowCameraNear = 1;
renderer.shadowCameraFar = camera.far;
renderer.shadowCameraFov = 40;
renderer.shadowMapBias = 0.0039;
renderer.shadowMapDarkness = 0.6;
renderer.shadowMapWidth = graphics_options.shadow_res;
renderer.shadowMapHeight = graphics_options.shadow_res;
renderer.setClearColorHex( cwe_settings.bg_color, cwe_settings.bg_alpha);
document.getElementById("blackboard").appendChild(renderer.domElement);
renderer.physicallyBasedShading = true;
(...)
composer = new THREE.EffectComposer(renderer);
composer.addPass(new THREE.RenderPass(scene, camera));
effectFXAA = new THREE.ShaderPass(THREE.FXAAShader);
effectFXAA.uniforms['resolution'].value.set(1 / (window.innerWidth), 1 / (window.innerHeight));
effectFXAA.renderToScreen = true;
composer.addPass(effectFXAA);
动画循环:
(...)
composer.render(scene, camera);
有没有人有同样的问题?我在互联网上没有找到类似的东西。