Javascript Three.js将立体效果与FXAA ShaderPass相结合
我使用Three.js StereoEffect创建了一个Google硬纸板场景Javascript Three.js将立体效果与FXAA ShaderPass相结合,javascript,three.js,webgl,Javascript,Three.js,Webgl,我使用Three.js StereoEffect创建了一个Google硬纸板场景 effect = new THREE.StereoEffect(renderer); effect.render(scene, camera); 现在我想通过FXAA着色器运行它来平滑输出。我知道我可以使用EffectComposer执行此操作: renderScene = new THREE.RenderPass(scene, camera); effectFXAA = new THREE.ShaderPass
effect = new THREE.StereoEffect(renderer);
effect.render(scene, camera);
现在我想通过FXAA着色器运行它来平滑输出。我知道我可以使用EffectComposer执行此操作:
renderScene = new THREE.RenderPass(scene, camera);
effectFXAA = new THREE.ShaderPass(THREE.FXAAShader);
effectFXAA.uniforms['resolution'].value.set(1 / (window.innerWidth * dpr), 1 / (window.innerHeight * dpr));
effectFXAA.renderToScreen = true;
composer = new THREE.EffectComposer(renderer);
composer.setSize(window.innerWidth * dpr, window.innerHeight * dpr);
composer.addPass(renderScene);
composer.addPass(effectFXAA);
composer.render();
这会使图像平滑,但我不知道如何将其与StereoEffect视图相结合。
在对我自己的项目进行研究和试验后,我发现EffectComposer和StereoEffect不能很好地结合。它们都尝试在管道的同一级别渲染场景。一个不会流过另一个
我的解决方案是创建一个新类,StereoCamera,由StereoEffect更改而来。在没有效果的情况下几乎是一样的,返回摄影机由EffectComposer(或其他效果)渲染
你可以找到一个
由于这有助于我向前迈进(如果这个问题不太老的话,也许你也可以),我提交了一个pull请求,将类和示例与其他3.js示例一起添加,希望它能帮助其他人
===
更新:
事实证明,其他一些人最近也解决了这个问题,首先。请看,这是一个不同的、更优化的解决方案。我自己刚刚完成了这个挑战。这里的代码帮助我开始。一旦我找到了解决方案,我会发布一个答案。我知道这是6个月前提出的。这个问题仍然与您相关吗?那么您的工作示例将适用于优化的立体摄影机类?立体声效果可以很容易地被黑做fxaa吗?