2014-12-18 2 views
0

WebGLRenderer에서 앤티 앨리어싱과 그림자를 어떻게 동적으로 설정 및 해제 할 수 있습니까?WebGLRenderer에서 안티 앨리어싱과 그림자를 동적으로 켜기/끄기

단순히 앤티 앨리어싱 및 shadowMapEnable의 속성을 변경해도 작동하지 않습니다. 나는 소스에 보니 메소드 updateShadowMap을 발견() 있지만 69

UPDATE 릴리스에서 제거 : OK, 질문의 두 번째 절반에 대한 대답은 내가 그 결과 여기 https://github.com/mrdoob/three.js/issues/2466

발견 다음 코드는 정상적으로 작동합니다.

renderer.shadowMapEnabled = false; 

for(var i in tiles.children) 
tiles.children[i].material.needsUpdate=true; 

renderer.clearTarget(sun.shadowMap); 

답변

5

생성 후 WebGL 컨텍스트에서/디아블 안티 앨리어싱을 활성화 할 수 없습니다. 유일한 방법은 새 컨텍스트를 만들고 모든 버퍼와 텍스처를 다시 제출하는 것입니다.

따라서 이상적으로는 antialias boolean을 사용하여 WebGLRenderer을 새로 작성해야합니다. 이것은 아직 생각하지 않지만, 빨리 작동하도록 노력하고 있습니다.

+0

안녕하세요, 전 꽤 오래 전 게시 한 것 같습니다. 이거 지금 작동합니까? fps 기반의 동적 렌더링 옵션을 구현하고 싶습니다. 즉, 낮은 fps = no AA 등 – Spencer

+1

이제 여러 개의 'WebGLRenderer'를 만들 수 있습니다. – mrdoob