0
업데이트 : 더 일반적인 질문을 다시 작성하십시오. (참조 용으로 here 원본)렌더러 교체 후 Three.js 장면이 표시되지 않습니다.
나는 Three.js WebGLRenderer에서 장면을 렌더링 중입니다. 그런 다음 렌더러를 새로운 WebGLRenderer (캔버스를 새 캔버스로 대체)로 대체하고 새 렌더러에서 동일한 장면을 다시 렌더링해야합니다.
는 설정은 다음과 같이 대략 같습니다
cancelAnimationFrame(this.requestID_);
// all other Three.js objects stay same (and I let Three.js create a new canvas)
this.createNewRenderer();
this.animate();
그러나, 새로운 렌더러는 장면의 메쉬를 빈 배경을 렌더링하지 않습니다. 장면 메쉬를 새로 계산 된 메쉬로 바꾸면 렌더링이 다시 잘됩니다.
따라서 메시와 관련이 있다고 가정합니다.
그래서, 메쉬를 재 계산 피하기 위해, 나는 새로운 렌더러를 작성하기 전에 (이후) this three.js doc에 따라 모든 geometry.xxxNeedUpdate 및 material.needUpdate 플래그를 설정하려고했지만,이 역시 작동하지 않았다.메쉬가 새로운 WebGL 렌더러에 다시 표시되도록하려면 어떻게해야합니까? 나는 현재 다음과 같이 현장에있는 모든 메쉬를 새로 고쳐이 문제를 해결하고 있습니다