Deferred Rendering ( 지연렌더링 ) - FXAA
Game programing/Shader / 2012. 11. 28. 10:54
결국 AA를 직접 만들어서 사용하고 싶었는데 그냥 블러를 먹이면 되는줄 알았는데 알고 보니 그런 단순하게 해서는 퀄리티가 좋지
못해서 결국 회사형에게 물어가며 FXAA를 적용해 보았다. Deferred를 구현한 샘플 소스에다가 그냥 소스 받아와서 테그닉을 추가해서
구겨 넣었다. 아래 내용은 PDF에서 발췌한 것인데 대충 이해한 내용을 정리한다. 맞는지는 확실지 않다 ㅋㅋㅋ 나중에 소스 보고 확실히
정리하야겠다 .
FXAA는 인접해 있는 4개의 픽셀 인접값( 위에 그림에서 보면 NW, NE 등은 두개의 픽셀이 만나는 점을 뜻한다.) 를 통해서 휘도( luminance )가 가장 높은 값을 저장하고 픽셀쉐이더로 들어온 M 픽셀의 휘도를 포함한 휘도값들에서 최대값과 최소값을 뺀다.
이것은 대비( contrast )가 되며 이 대비값이 많이 발생하면 AA를 필요하다고 처리된다.
위와 같은 방식으로 휘도값들의 차이를 통해 이차원 좌표계를 만들고 방향성을 통해서 블러( 여기서는 scale 값 )를 사용한다.
저런식으로 처리하면 좀 될거 같다. 하지만 소스 자체를 보고 좀 더 연구해봐야 겠다.
실제 적용 모습
< Non AA >
< FXAA 적용 >
'Game programing > Shader' 카테고리의 다른 글
HDR + Bloom (0) | 2013.10.28 |
---|---|
Deferred Rendering ( 지연렌더링 ) - Edge blur (0) | 2012.11.18 |
Deferred Rendering ( 지연렌더링 ) (0) | 2012.11.15 |
What is shader? (0) | 2012.10.31 |
Deferred Rendering (0) | 2012.10.22 |