스크린 공간 주변 폐색

Screen space ambient occlusion

화면 공간 주변 폐색(SSAO)은 주변 폐색 효과를 실시간으로 효율적으로 근사하기 위한 컴퓨터 그래픽 기술입니다.Crytek에서 일하던 중 Vladimir Kajalin에 의해 개발되었으며 2007년 Crytek가 [1]개발한 비디오 게임 Crysis에 의해 처음으로 사용되었다.

실행

일반적인 게임 장면의 SSAO 컴포넌트

이 알고리즘은 픽셀 셰이더로 구현되어 텍스처에 저장된 장면 깊이 버퍼를 분석합니다.화면의 모든 픽셀에 대해 픽셀 셰이더는 현재 픽셀 주변의 깊이 값을 샘플링하고 샘플링된 각 포인트에서 교합의 양을 계산하려고 합니다.가장 간단한 구현에서 폐색 계수는 샘플링된 점과 현재 점 사이의 깊이 차이에만 의존합니다.

스마트 솔루션을 추가하지 않으면 이러한 무차별 포스 방식은 양호한 시각적 품질을 위해 픽셀당 약 200개의 텍스처 판독이 필요합니다.이는 현재 그래픽 하드웨어에서의 실시간 렌더링에는 적합하지 않습니다.읽기 횟수가 훨씬 적은 고품질 결과를 얻기 위해 무작위로 회전하는 커널을 사용하여 샘플링을 수행합니다.커널 방향은 N스크린 픽셀마다 반복되어 최종 이미지에서 고주파 노이즈만 발생합니다.최종적으로 이 고주파 노이즈는 깊이 불연속성을 고려한 NxN 후공정 블러링 스텝(인접 노멀 및 깊이 비교 등의 방법을 사용)에 의해 대폭 제거된다.이러한 솔루션을 통해 고품질 결과를 유지하면서 픽셀당 깊이 샘플 수를 약 16개 이하로 줄일 수 있으며 컴퓨터 게임과 같은 소프트 실시간 애플리케이션에서 SSAO를 사용할 수 있습니다.

다른 주변 폐색 솔루션과 비교하여 SSAO에는 다음과 같은 이점이 있습니다.

  • 장면의 복잡성과는 무관합니다.
  • 데이터를 전처리할 필요도 없고, 로딩 시간이나 시스템 메모리에 메모리를 할당할 필요도 없습니다.
  • 역동적인 장면과 함께 작동합니다.
  • 화면의 모든 픽셀에 대해 동일하게 동작합니다.
  • CPU 사용률 없음– GPU 에서 완전히 실행할 수 있습니다.
  • 최신 그래픽스 파이프라인에 쉽게 통합할 수 있습니다.

SSAO에는 다음과 같은 단점도 있습니다.

  • 어떤 기하학적 구조에서도 생성될 수 있는 인접 텍셀 깊이에 따라 달라지기 때문에 국부적이고 많은 경우 뷰에 의존합니다.
  • 물체의 가장자리 등 깊이 불연속성을 방해하지 않고 노이즈를 올바르게 평활/블루하기 어렵다(폐색이 물체에 '블루드'되지 않아야 함).

「 」를 참조해 주세요.

레퍼런스

  1. ^ "What is Ambient Occlusion? Does it Matter in Games?".
  2. ^ Tobias Ritschel; Thorsten Grosch; Hans-Peter Seidel (2009). "Approximating Dynamic Global Illumination in Image Space". Proceedings ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. Retrieved 25 November 2015.

외부 링크