4.7 C
Seoul
Sunday, November 17, 2019
Home Learn Tutorials MSAA와 Alpha To Coverage

MSAA와 Alpha To Coverage

출처: 픽사베이

이 포스트에서는 MSAA와 Alpha to Coverage의 개념을 알아봅니다.

MSAA는 Multisample Anti Aliasing의 약자로 여러 안티알리어싱 기법의 하나입니다. 더 큰 해상도에 화면을 그린 다음에 다시 원래 해상도로 줄여서 안티알리어싱 효과를 주는 SSAA(Supersmaple Anti Aliasing)와 비슷하지만 조금 더 최적화된 버전입니다. MSAA의 특징은 프래그먼트 셰이더를 프래그먼트당 한 번만 실행하고 그 결과를 여러 서브샘플에 적용하는 것입니다. 그래서, SSAA에 비해서 프래그먼트 셰이더의 연산량이 적은 장점이 있습니다. 자세한 설명은 이 글을 참고하세요.

MSAA를 사용할 때 Alpha to Coverage를 활성화하면 프래그먼트 셰이더 결과의 알파 값을 특별한 용도로 사용합니다. 알파 값에 따라서 몇 개의 서브샘플에 셰이더 결과를 적용할지 결정하게 됩니다. 이렇게 하면 디더링을 사용해서 반투명한 효과를 주는 것과 비슷한 느낌으로 반투명 효과를 표현할 수 있습니다. 기본 개념은 알파테스트에 가까우므로 알파블렌딩과 다르게, 그리는 순서를 정렬해 줄 필요가 없는 것이 가장 큰 장점입니다. 반면에, 알파의 단계가 매우 적다는 것이 단점입니다.

4x MSAA의 경우라면 서브샘플이 4개이므로, 반투명 단계가 총 5개밖에 없습니다. 이 때 fwidth()로 알파값을 보정하여 사용하면 더욱 부드러운 테두리를 얻을 수 있습니다. 또한, Alpha to Coverage와 알파블렌딩을 함께 사용하여 품질을 높이는 것도 가능합니다. 자세한 방법은 이 글을 참고하세요.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay connected

58FansLike
56FollowersFollow
156FollowersFollow
128FollowersFollow

Recipe of the day