스크린 서피스 앰비언트 어클루전

스크린 서피스 앰비언트 어클루전(Screen space ambient occlusion, SSAO)은 앰비언트 어클루전 효과를 실시간으로 효율적으로 예측하기 위한 컴퓨터 그래픽스 기법이다. 이 기법은 크라이텍에서 일하는 동안 블라디미르 카잘린에 의해 개발되었으며 2007년 크라이텍이 개발하고 일렉트로닉 아츠가 출시한 《크라이시스》라는 비디오 게임에 처음 도입되었다.

구현 편집

 
일반적인 게임 씬의 SSAO 구성 요소.

이 알고리즘은 픽셀 셰이더로 구현되어 있으며, 텍스처에 저장된 씬의 심도 버퍼를 분석한다. 화면의 모든 화소마다 픽셀 셰이더는 현재 화소 주변의 깊이 값들을 샘플링한 다음 샘플링된 점들 각각으로부터 어클루전의 양을 계산한다. 가장 단순한 구현의 경우, 어클루전 요소는 샘플링된 점과 현재의 점 간의 심도 차이에만 의존한다.

브루트 포스 방식과 같은 추가적인 현명한 해결책 없이는 좋은 화질을 위해 화소 당 약 200개의 텍스처 읽기가 필요하다. 현재의 그래픽 하드웨어에서의 실시간 렌더링에는 적합하지 않다. 훨씬 더 낮은 읽기로 고품질의 결과물을 얻기 위해 임의로 회전된 커널을 사용하여 샘플링이 수행된다.

다른 앰비언트 어클루전 해결책에 비해, SSAO는 다음의 이점이 있다:

  • 씬 복잡성에서 독립적이다.
  • 데이터 전처리가 불필요하며, 시스템 메모리의 메모리 할당이나 로딩 시간이 없다.
  • 동적 씬과 동작한다.
  • 화면의 모든 화소마다 동일하고 일정한 방법으로 동작한다.
  • CPU 사용이 없다. 완전히 GPU에서 수행할 수 있다.
  • 어떠한 현대의 그래픽스 파이프라인에라도 쉽게 통합할 수 있다.

같이 보기 편집

외부 링크 편집