2013-06-10 3 views
0

three.js로 간단한 예제를 만들려고합니다. 볼륨을 구성하는 삼각형이 많습니다. 삼각형이 잘못 주문되었거나 별난 순서로 렌더링 된 것 같습니다. 여기에 당신이 볼 수있는 예입니다 삼각형이 (깊이) 순서에서 벗어납니다.

http://urlmin.com/qlp

그냥 주위 뷰를 회전하고 뷰의 깜박임을 참조하십시오.

동작은 캔버스 또는 웹 글루 렌더러와 동일합니다.

조명을 사용하고 있지 않습니다. 각 삼각형의 색깔은 약간 다릅니다.

나는 정말 간단한 것을 놓치고 있어야합니다. 네가 생각한다는 걸 알려줘. 감사! 면 NEAR 카메라 여기 http://jsfiddle.net/aR8wr/

+0

올바른 렌더링을 생성하기 위해 사용하려는 것은 무엇입니까? painter 알고리즘과 같은 z 버퍼를 사용하려고합니까? –

+0

삼각형을 하나의 지오메트리 objet으로 통합하는 대신 개별적으로 그리는 이유가 있습니까? 성능 측면에서 보면, 특히 모든 프레임의 모든 단일 삼각형에 대해 새로운 쉐이더 프로그램이 호출되기 때문에 WebGL 렌더러를 사용하는 경우이 문제에 접근하는 것이 바람직하지 않습니다. 모든 삼각형을 하나의 기하학 개체로 통합하고 꼭지점 색을 사용하여 삼각형을 개별적으로 채색하는 것을 고려해야합니다. – wagerfield

+0

@DonCruickshank : 아니, 단순히 삼각형으로 구성된 솔리드 볼륨을 렌더링하고 싶습니다. – Ali

답변

0

JSFiddle은 매우 작고 FAR면 아주 큰. 결과적으로 렌더링, 부동 소수점 오류 및 깜박임의 정밀도가 떨어집니다. 이러한 변수를 예를 들어 0.01과 1000으로 설정하면 깜박임이 제거됩니다.

아직 어떤 각도에서는 이상하게 보입니다. 나는 그 원인을 정확히 알지 못하지만, 모델을 작은 삼각형으로 나누면 도움이 될 것입니다. 또는 WebGLRenderer를 사용할 수도 있습니다. WebGLRenderer는 더 현명한 값을 NEAR 및 FAR로 설정하는 한 완벽하게 작동합니다.

+0

감사합니다 !! webgl은 이제 완벽하게 작동합니다. 캔버스 렌더러에 대한 솔루션을 찾아야합니다. 브라우저가 webgl을 지원한다고 가정 할 수는 없습니다. 그것은 매우 간단한 일이며 캔버스로 잘 작동해야합니다. – Ali

관련 문제