0
장면이 있고 장면의 맨 위에 녹색 사각형이 적용된 쉐이더가 있습니다. 흰색 구가 있지만 녹색 구형의 바깥쪽에있을 때 구가 보이지 않게해야합니다. 녹색 패스 셰이더가 통과하기 전에 렌더링 패스와 재 추가 전에 구를 제거 할 수 있습니까? 그렇지 않다면, 내가 원하는 것을 어떻게 얻을 수 있습니까?렌더링 전에 장면 전환 ShaderPass
바로 여기에는 패스 렌더링의 나 : 여기
renderPass = new THREE.RenderPass(scene, camera);
copyPass = new THREE.ShaderPass(THREE.CopyShader);
colorifyPass = new THREE.ShaderPass(THREE.ColorifyShader);
colorifyPass.uniforms[ "color" ].value = new THREE.Color(0x00ff00);
composer = new THREE.EffectComposer(renderer);
composer.addPass(renderPass);
composer.addPass(colorifyPass);
composer.addPass(copyPass);
copyPass.renderToScreen = true;
내가 지금 무슨의 스크린 샷입니다 : WestLangley의 예에
'THREE.MaskPass'는 원하는 것입니다. http://threejs.org/examples/webgl_postprocessing_advanced.html을 참조하십시오. 소스 코드를주의 깊게 연구해야합니다. – WestLangley
나는 어떻게 MaskPass로 그것을 할 지 알지 못했다. 그러나 당신의 예제 덕분에 나는 게시 된 대답에 나타난 것처럼 이중 작곡가를 사용했다. 더 좋은 제안이 있으면 알려주십시오. –