문제

CAD 및 게임 산업에서는 폐색 알고리즘이 필요합니다. 그리고 그들은 내가 생각하는 두 산업에서 다릅니다. 내 질문은 다음과 같습니다.

  1. 두 가지 Indurstries에 각각 어떤 종류의 폐색 알고리즘이 적용됩니까?
  2. 그리고 차이점은 무엇입니까?

CAD 소프트웨어 개발 작업을 수행하고 있으며, 우리가 채택한 폐색 알고리즘은 객체 식별자를 색상 (정수)으로 설정 한 다음 장면을 렌더링하여 픽셀을 읽으려면 눈에 보이는 개체를 찾으십시오. 공연은 그리 좋지 않으므로 여기서 좋은 아이디어를 얻고 싶습니다. 감사.


Anwsers를 읽은 후 폐색 알고리즘 여기서 "폐색 컬링"을 의미합니다. - 파이프 라인으로 보내기 전에 가시 표면이나 엔티티를 찾으십시오.

Google을 사용하면 알고리즘을 찾았습니다 Gamasutra. 다른 좋은 아이디어 나 발견이 있습니까? 감사.

도움이 되었습니까?

해결책

지금까지 대부분의 답변이 이미지 주문 폐색에 대해 논의한다는 것이 저를 고집했습니다. 나는 CAD를 완전히 확신하지 못하지만 게임에서 폐색은 BSP 트리, OCT 트리 및/또는 포털 렌더링을 사용하여 훨씬 더 높은 수준에서 시작하여 관찰 frustum 내에 나타나는 물체를 신속하게 결정합니다.

다른 팁

게임에서 폐색은 두 개의 3D 라이브러리 중 하나 인 DirectX 또는 OpenGL을 사용하여 현장 뒤에서 수행됩니다. 세부 사항을 얻으려면 폐색은 다음을 사용하여 수행됩니다. z 버퍼. 각 지점에는 z 구성 요소가 있으며 더 가까운 폐쇄점 인 포인트가 더 멀리 있습니다.

폐색 알고리즘은 일반적으로 DirectX 또는 OpenGL 기능을 구현하는 전용 3D 그래픽 처리 칩에 의해 하드웨어에서 수행됩니다. DirectX 또는 OpenGL을 사용하는 게임 프로그램은 3D 공간에 객체를 그리며 OpenGL/DirectX 라이브러리가 장면을 투영 및 폐색을 고려하게합니다.

당신이 검색 해야하는 용어는 IS입니다 숨겨진 표면 제거.

실시간 렌더링은 일반적으로 숨겨진 표면 제거의 간단한 방법 인 백 페이스 컬링을 활용합니다. 각각의 폴리는 표면으로부터 정해진 거리에서 사전 계산되는 "표면 정상"포인트를 가질 것이다. 카메라와 관련하여 표면의 각도를 확인하면 표면이 멀어지고 있으므로 렌더링 할 필요가 없습니다.

대화식이 있습니다 플래시 기반 데모 및 설명.

하드웨어 픽셀 Z- 버퍼링은 가장 간단한 기술이지만, 고밀도 객체 장면에서는 여전히 동일한 픽셀을 여러 번 렌더링하려고 할 수 있으며, 이는 일부 상황에서 성능 문제가 될 수 있습니다. - 보이지 않는 수천 개의 물체를 매핑하고 텍스처링하지 않아야합니다.

나는 현재 내 프로젝트 중 하나 에서이 문제에 대해 생각하고 있습니다. 나는 이것이 몇 가지 아이디어를 자극했다는 것을 알았습니다.http://www.cs.tau.ac.il/~dcor/graphics/adv-slides/short-image-culling.pdf

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top