Ambient Occlusion

 


[image]
AO에 따른 그래픽 차이. 출처
1. 개요
2. 종류


1. 개요


'''Ambient Occlusion'''

빛의 차폐로 인한 감쇠 근사치를 구하는 이펙트입니다. 현실에서도 방의 구석 부분은 훨씬 더 어둡듯이, 구석이나 틈 같은 곳을 더 어둡게 하여 더욱 자연스럽고 사실적인 느낌을 낼 수 있도록, 표준 글로벌 일루미네이션에 더해 미묘한 이펙트로 사용하는 것이 보통 가장 좋습니다.

-언리얼 엔진 가이드 중 SSAO에 대한 설명에서 발췌.

렌더링 과정 중 셰이딩의 한 방식. 각각의 표면이 광원에 얼마나 노출되어 있는지를 계산하여 그림자를 더해주는 기술이다. 일반적으로 광원과 물체를 던져놓고 지역 조명 방식[1]으로 처리를 시행하면 그림자는 있지만 실제와 미묘하게 다른데, AO는 이를 보정하고 실제에 더 가깝게 보이도록 만든다. 리얼타임 레이 트레이싱으로도 구현되고 있다. HBAO와의 비교영상

2. 종류


  • SSAO - Screen Space Ambient Occlusion
가장 많이 쓰이는 전통있는 AO. 현재 모니터에 렌더링되는 영역만을 Screen Space로 인식하여 해당 영역에만 앰비언트 오클루전을 적용함으로써 일정 수준 최적화 된 그래픽을 제공한다. 후술할 HBAO+가 보급된 후에는 위상이 좀 떨어졌지만 여전히 옵션 타협용으로 둘 다 지원하는 경우가 절대다수이다.[2]
  • NVIDIA Ambient Occlusion
정식 명칭은 그냥 Ambient Occlusion이다. SSAO가 정착되기 이전 지포스 전용(...)으로 독자 구현한 방식으로, 미리 구워놓은 맵을 통한 반실시간 구현에 가까운 방식. 특히 지포스에 최적화하기 유리하지만 개발자가 노가다로 맵을 구워놔야 하는 측면 때문에 AMD가 밀던 SSAO에 밀려서 사장되었다. (SSAO를 AMD가 개발한 것은 아니지만, 상대적으로 쉐이더 성능에 치중하는 라데온 개발 성향에 맞아서 밀어줬던 것) 지금은 하프라이프 2, 월드 인 컨플릭트, 폴아웃 3 등 극히 몇몇 게임만 지원한다. # 하지만 NVIDIA는 이후 HBAO로 AMD의 HDAO를 쳐발라서 대세를 되찾는다.
  • HBAO+ - Horizon Based Ambient Occlusion+
NVIDIA가 제공하는 기술. 최근 들어 쓰이는 차세대 AO로 배틀필드4, 위쳐3, 라이즈 오브 툼 레이더 등 많은 곳에 적용되었다. SSAO보다 좀 더 높은 연산능력을 필요로 하지만 그림자의 정확성이 좀 더 높아진다.
  • HDAO - High Definition Ambient Occlusion
AMD가 개발하고 밀어줬던 SSAO의 개량판. 단순히 SSAO를 더 정교하게 연산해서 퀄리티를 올리는 방식이라 성능 하락 대비 쓰레기지만, 당시 라데온에 전용 가속 명령어를 넣어서 그걸 쓰면 쓸만하게 해주는 식으로 밀어줬는데.....근본적인 개선을 해버린 HBAO에 비하면 라데온 전용 가속 명령어를 써야 본전만 간신히 찾는 수준이라 발렸다. 지금은 파크라이 3 등 극히 몇몇 게임만 지원한다. #
  • VXAO - Voxel Accelerated Ambient Occlusion
NVIDIA의 소개.
NVIDIA GameWorks에서 제공하는 기술로 라이즈 오브 툼 레이더에서 쓰였다. 말 그대로 AO를 적용할 부분을 복셀 단위로 계산하기 때문에 가장 정확성이 높은 음영을 출력할 수 있지만, 이에 따라 요구되는 GPU의 연산능력이 매우 높다.
  • SSDO - Screen Space Directional Occlusion
  • AAO - Alchemy Ambient Occlusion
  • ABAO - Angle Based Ambient Occlusion
  • PBAO
  • ASSAO - Adaptive Screen Space Ambient Occlusion, HBAO+와 비슷하게 SSAO를 개량한 기술. F1 2018에서 AMD 최적화 옵션으로 등장하여 비교 벤치가 나오기도 했다.# 다만 기술 자체는 인텔이 만든 듯 # (이전에도 인텔이 만든 MLAA라데온에서 가져다 쓴 적이 있으니 이상할 건 없다.)
  • CACAO - Combined Adaptive Compute Ambient Occlusion
AMD FidelityFX의 AO 구현방식 중 하나의 풀네임, 정식 명칭은 주로 FidelityFX Ambient Occlusion.
  • DFAO - Distance Field Ambient Occlusion
에픽게임즈의 언리얼 엔진 4에서 제공하는 기술. 기존의 프리컴퓨티드 AO기술과는 다르게 실시간으로 구현되는 것이 특징이다. 파괴효과로 부숴지는 파편등에도 음영효과를 실시간으로 업데이트해 더욱 사실적인 표현이 가능하다.
[1] 색을 입히고 후처리로 음영을 입힘.[2] 반면에 SSAO 옵션 없이 HBAO+만 지원하는 경우는 극히 드물다.