2010-04-09 2 views
1

자기 자신을 둘러싼 3 차원 장면을 만들고 싶습니다. 말하자면, 어떤 방향으로 계속 나아가면 다른쪽으로 돌아갈 것입니다.씬 트리 반복 (Java3d/OpenGL)

현재 구현이 너무 나쁘다는 것을 인정하는 것은 당황 스럽습니다. 3x3x3 장면 큐브를 만들기 위해 각 변경 사항을 27 번 다시 그립니다. 사용자가 중간 큐브의 끝에 도달하면, 나는 그들을 다른쪽에 넘겨 씁니다. 일관성 유지 (성능은 말할 것도없고)는 악몽입니다. 총 재난.

이것은 비정상적인 요청 인 것처럼 보이지 않으므로 누구나보다 합법적 인 솔루션을 알고 있는지 궁금합니다.

감사합니다.

편집/참고 : Java3d에서 사용할 수있는 렌더 - 투 - 텍스처 기능이 없습니다.

답변

0

특정 장면과 어떤 종류의 개체를 렌더링하는지 알지 못해도 27 개의 큐브는 "올바르지 만 최적이 아닙니다"같은 방식으로 들립니다.

그러나 다른 것을 생각할 수 없다면 적어도 먼저 카메라에서 절두체 컬링을 수행 할 수 있습니다. 즉, 현재 27 개의 큐브 중 어느 것이 카메라의 시야 안에 있는지 알아볼 수 있습니다.

그런 다음 6 개 이상의 큐브와 현재의 큐브를 그리지 않아도됩니다.

거리에 최대 1 큐브 만 볼 수 있다고 가정합니다. 그렇지 않으면 텍스처로 렌더링해야합니다.

0

다른 옵션을 생각할 수도 있지만 매우 좋지 않습니다.

사용자를 우주의 원점에 고정 된 상태로 유지할 수 있습니다. 따라서 그들을 움직이는 대신 우주의 다른 모든 것을 반대 방향으로 이동하십시오. 우주의 경계를 가로 지르는 것은 반대쪽으로 되돌아 올 것입니다.