'취미 생활' 카테고리의 다른 글

[선따기]루피  (0) 2018.01.03
Posted by Dongkey
,

https://www.slideshare.net/msparkms/ssao-15650492 참고했습니다.


SSAO는(Screen Space Ambient Occlusion, SSAO) 의 약자입니다.

AO의 결과값을 실시간으로 효율적으로 예측하는 기법입니다. 

이 기법은 크라이텍의 블라디미르 카잘린에 의해 개발되었습니다.


Screen Space ( 화면 공간 ) 이란 화면에 표시되는(모니터로 보는) 공간을 나타내는 것입니다.

즉 화면 공간만 AO 계산을 하기 때문에 AO 의 무거운 계산을 많이 덜 수가 있습니다.

SSAO는 텍스처에 저장된 씬은 깊이 버퍼를 분석하여 AO의 근사치를 계산합니다.


이제 SSAO 의 알고리즘을 살펴 보겠습니다.



카메라 ( Screen) 기준으로 깊이 버퍼를 비교합니다.

주변픽셸의 depth buffer 데이터를 비교해 AO의 알고리즘을 적용 시킵니다.



알고리즘을 구한뒤 경계부분은 유지를 하면서 노이즈를 부드럽게 변환 시키면



이런 결과값을 구할 수 있습니다.



다른 이미지와 잘 섞으면 훨씬 현실감있는 이미지를 만들 수 있습니다.



SSAO의 장점

씬이 아무리 복잡해도 독립적입니다.

데이터 전처리가 불필요하며 시스템 메모리의 할당이나 로딩 시간이 없습니다.

동적 씬과 동작합니다.

화면의 모든 화소마다 동일하고 일정한 방법으로 동작합니다.


이번장은 여기까지 알아보겠습니다. 




Posted by Dongkey
,

Ambient Occlusion 이란?


빛의 차폐로 인한 감쇠 근사치를 구하는 이펙트입니다.

쉽게 말해서 구석진 부분을 훨씬 더 어둡게 하여 더욱 자연스럽고 사실적인 느낌을 낼 수 있도록 하는 것입니다.여기에 이미지 설명을 입력하십시오.


출처 : https://gamedev.stackexchange.com/questions/23/what-is-ambient-occlusion


AO의 알고리즘

출처 : http://blog.naver.com/PostView.nhn?blogId=daehuck&logNo=220449224224&parentCategoryNo=&categoryNo=34&viewDate=&isShowPopularPosts=true&from=search


한 점(P) 로 노말기준 반원을 그립니다(뒤는 오브젝트들이 연결되어 있으니)

A의 경우보다 B의 경우게 차폐되는 양이 늘어나므로 더 구석진 곳으로 되어있다는 것을 알수가 있습니다. 그러므로 차폐의 양에 따라 더 어둡게 처리를 해주면 구석진 곳이 어두워 지게 됩니다.


AO의 알고리즘은 정확하게 계산할수록

퀄리티 Up 이 되고 퍼포먼스는 Down이 됩니다.

(이론상은 가능하지만 실시간 렌더링하기엔 매우 무거움)


AO(Ambient Occulusion)를 실시간 렌더링을 하기에는 매우 무거운 작업입니다.

보통 회색조(0~1) 텍스처 또는 정점 색을 통해 조절을 했었습니다.

현재에는 많은 기법들이 나와있습니다. SSAO,HBAO,HBAO+ 등이 있지만 

이번 장은 AO에 대해서만 알아보겠습니다. 


다음 장은 SSAO 에 대해서 더 알아보겠습니다.


Posted by Dongkey
,