최신 게임 엔진에서 소프트웨어 래스터 화의 사용법은 무엇입니까?


9

이번 분기에는 컴퓨터 그래픽 코스를 수강하고 있습니다. 실험실 프로젝트 중 하나는 소프트웨어 래스터 화에 관한 것입니다.

이제 프로젝트 제안을 계획하고 현대 게임 개발에서 다른 사람들에게 유용하게 만드는 방법에 대해 생각하고 있습니다.

간단한 검색 후, Software Occlusion Culling이라는 기술을 배웠습니다. 다양한 해상도의 버퍼에서 소프트웨어 래스터 화를 수행합니다. 계층 적 z 버퍼를 사용하여 폐색을 쿼리 할 수 ​​있습니다.

내 질문 : Software Occlusion Culling 외에도 최신 게임 엔진 에서 소프트웨어 래스터 화의 사용법은 무엇입니까 ?

답변:


4

내 지식으로는 Software Occlusion Culling (이미 언급 했음 )은 소프트웨어 래스터 라이저가 여전히 사용되는 유일한 방법입니다. Procworld 는 비슷한 기술을 사용하여 거대한 복셀 환경을 표시합니다.

절두체 컬링과 같은 대부분의 다른 컬링 방법은 CPU에서 작동하지만, 예를 고수하기 위해 절두체에 대한 테스트는 객체 수준에서, 아마도 축 정렬 경계 상자 (AABB)에서 발생합니다. 이 교차 테스트는 완전한 소프트웨어 래스터 라이저를 사용하는 것보다 훨씬 간단합니다.

경우에 따라 소프트웨어 래스터 화를 사용하여 객체를 마우스로 선택할 수 있습니다. 게임 엔진에서, 이것은 종종 물리 엔진과 단순화 된 메시로 광선-삼각 충돌을 사용하여 해결됩니다.

최신 대화식 3D 응용 프로그램에서 GPU를 기다리는 동안 CPU가 유휴 상태가되면 소프트웨어 래스터 라이저를 사용하여 이러한 유휴주기를 사용하여 CPU에서 렌더링하는 것이 유리할 수 있습니다. 여기서의 문제는 렌더링이 끔찍하게 복잡해지고 복잡 해지는 것 외에도 종종 대역폭이 될 것입니다. CPU에서 렌더링 된 이미지는 표시되기 전에 GPU로 전송되어야하므로 이점이 사라질 수 있습니다.


0

"전쟁 안개"라는 개념을 가진 게임은 종종 각 위치에서 전쟁 안개 상태를 정의하는 가시성 격자를 가지고 있습니다. 래스터 화는 때때로 그리드의 특정 모양에 대한 안개 상태를 수정하는 데 사용됩니다.

예를 들어 특정 반지름으로지도의 원을 표시하는 기능 또는 정사각형을 표시하는 기능을 사용합니다.

그래픽과 관련이있는 것은 아니지만, 현대 게임에서 래스터 화를 사용하는 것과 RTS에 사용 된 기술을 사용하십시오.

게임의 다른 그리드 기반 데이터는 유사한 상황에서 래스터 화를 사용할 수 있습니다.


-2

래스터 화는 많은 부분을 가진 거대한 주제이며 엔진 프로그래머는 아니지만 개요를 제공하기 위해 최선을 다할 것입니다 (이것은 완전한 목록과는 거리가 먼 것입니다!).

매우 기본적이고 낮은 수준의 내용은 다음과 같습니다.

  • 절두체 컬링 (Frustrum culling) : 카메라 절두체 외부의 모든 것을 버립니다 (카메라의 시야 영역으로 생각하십시오).
  • 뒷면 컬링 : 카메라로 향하지 않는 모든 다각형을 버립니다.
  • Painter의 알고리즘 : 카메라까지의 거리 순서대로 물체를 그리고 멀리있는 물체부터 시작하여 카메라를 향합니다.

게임에 사용되는 고급 기능은 다음과 같습니다.

  • 테셀레이션 : 실제로 LOD와 거의 비슷하지만 (아래 참조) 최신 DirectX 버전은 테셀레이션을 도입하여 자동 메쉬 분할 또는 축소 기능을 제공합니다. 폴리곤이 필요할 경우 얻을 수 있고 더 이상 원하지 않는 경우 제거 할 수 있기 때문에 그래픽 성능이 크게 향상됩니다.
  • LOD : 디테일 레벨 시스템은 물체와 카메라 사이의 거리에 따라 물체의 메시를 대체합니다. 예를 들어, 캐릭터에는 3 개의 메시가 있습니다. 하나는 10,000, 하나는 5,000, 다른 하나는 1,000 폴리입니다. 그 앞에 계속 머물러 있으면 고해상도 메시 (10,000 폴리)가 표시되고, 멀어지면 100m 후에 캐릭터가 중간 메시로 바뀌고 100m 후에는 저해상도 메시로 바뀝니다. 메시를 교체하는 대신 메시를 줄일 수 있지만 코딩하기가 더 복잡합니다.
  • 이진 공간 파티션 : 공간은 두 개의 볼륨으로 나뉩니다. 목표에 도달 할 때까지 (예 : 공간에 화면에 그려야 할 폴리곤 만 포함 할 때까지) 반복됩니다.
  • 포털 및 셀 : (일명 포털 컬링)은 실내 장면 및 / 또는 1 인칭 슈팅 게임에서 사용됩니다. 장면은 던지는 포털 (예 : 문)에 연결된 셀 (예 : 건물의 방)로 나뉩니다. 포털이 열리고 닫히도록 설정할 수 있습니다.

그래픽 파이프 라인에 대한 기본 지식이 있다고 가정하고 래스터 화에 중점을 두었습니다. 조명과 음영 또는 기타 물건을 살펴볼 수도 있습니다.

여기에는 프로젝트에 포함 할 수있는 몇 가지 기술 만 포함됩니다. stackexchange에 대한 명성이 충분하지 않기 때문에 많은 링크를 제공 할 수는 없지만 Google에서 모든 것을 찾을 수 있습니다 :)


2
문제는 소프트웨어 (읽기 : CPU) 래스터 화에 관한 것입니다. 귀하가 제공 한 정보 중 일부는 일반적으로 래스터 화에 관한 것이며 일부 기술 (내 책에서는)은 래스터 화와 전혀 관련이 없습니다. 이 기술이 소프트웨어 래스터 화의 사용 또는 이점을 어떻게 활용하는지 명확하게 설명해 주시겠습니까?
David Kuri
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.