티스토리 뷰

졸업 논문 주제 : Ambient Occlusion

출처:
http://xsiuser.com

Ambient occlusion 이란?


  Ambient occlusion 이란 이름은 시그라프 2002에서 ILM 사의 테크니컬 디렉터가 시연한 테크닉에서 처음 사용되었습니다. Ambient occlusion은 Global Illumination을 통한 Indirect illumination 과 비교해 생산성 측면에서 그리고 그 효용성 측면에서의 이점 때문에 BlueSky 그리고 ILM과 같은 주요 제작사에서 사용되어 왔습니다. Ambient occlusion 은 간단히 말하면 오브젝트 표면의 한 지점이 얼마나 많은 ambient light를 받아들이는지의 비율입이다. Ambient occlusion은 전체 씬을 둘러 쌓고 있는 거대한 돔 조명(dome light)을 시뮬레이션 합니다. 만약 책상이 놓여 있는 바닥의 한 지점이라면 그 지점은 책상에 의해 occluded되므로 즉 빛이 차단되므로 책상 위 보다 더 어두워 질 것입니다. 이러한 Ambient occlusion 정보는 미묘하지만 매우 강력한 조명 효과를 만들어 내기 위해 다양한 표면의 다른 속성들과 함께 사용될 수 있습니다.




Ambient occlusion 원리는?

                 

1.       카메라로부터 출발하는 ray가 occlusion 쉐이더가 적용된 표면에 도달한다.





        2.
이때 표면의 한 지점은 씬의 나머지 오브젝트들과의 충돌을 계산하기 위해 표면의 법선 방향을
          기준으로 무작위의 부챗살 모양의 ray를 방출합니다.




      3.
이때 각각의 표면의 지점들은 충돌을 계산하기 위해 방출된 원래의 샘플수에 대한 ray의 교차점의
       비율만큼 어두워 집니다.  예를 들면, 옆의 그림에서 총 6개의 샘플이 2개의 교차점을 가지므로
       비율은 1/3이 됩니다. 그러면 표면 중 전혀 occlusion이 발생하지 않는 부분을 1이라고 했을 때,
       오브젝트에 의해 차단된 부분이 (1-1/3) 만큼 어두워 집니다.



    4. 씬의 모든 오브젝트에 위의 과정이 반복되면 최종적인 Ambient occlusion이 얻어 집니다.

'Development & Tips > 3D Programming' 카테고리의 다른 글

Ambient Occlusion  (2) 2008.07.22
[Shader] 간단한 수묵 렌더링  (3) 2007.09.04
[Shader] 간단한 카툰 렌더링  (0) 2007.09.03
댓글
댓글쓰기 폼