Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js将立体效果与FXAA ShaderPass相结合_Javascript_Three.js_Webgl - Fatal编程技术网

Javascript Three.js将立体效果与FXAA ShaderPass相结合

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

我使用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(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吗?