게임을 하면서 캐릭터의 윤곽선, 물체의 윤곽선에서 불쾌한 계단모양을 목격한 적이 있을것이다.
이 현상은 특히 해상도가 낮은 화면에서 크게 체감이 가능하다(닌텐도DS(256x192),플레이스테이션1(256×224~640×480)).
해상도의 한계로 인해 선을 그릴때 계단 형태로 왜곡되어 보이는 것을 Aliasing이라고 한다.
AA(Anti Aliasing):Aliasing을 줄이는 것
다음 그림을 보자
왼쪽 선보다 오른쪽 선이 비교적 깔끔한 직선처럼 느껴진다.
AA처리를 한 결과이기 때문이다.
이와 같은 AA는 여러 종류가 있지만, 이 포스팅에서는 SSAA,MSAA두종류를 다룬다.
SSAA(Super Sampling Anti Aliasing)은 가장 고전적인 형태의 AA기법이다.
double buffering 방식으로 화면을 출력한다고 할 때, Back buffer의 해상도를 가로,세로로 2배이상 늘리고 렌더링을 한뒤, front buffer로 resolving을 할때 인접한 픽셀들의 평균치로 픽셀의 색을 결정하는 방식이다.
원래 의도한 해상도보다 부풀려진 해상도를 렌더링해야하므로 그래픽카드에 큰 부하가 가해진다.
MSAA(MultiSampling Anti Aliasing)은 SSAA에서 발전한 형태의 AA기법이다.
SSAA와 마찬가지로 가로,세로로 2배이상 늘린 Back buffer를 사용하지만 '픽셀 쉐이더 연산'을 픽셀당 한번만 시행한다(SSAA는 4번이상). 픽셀의 색을 결정하는 픽셀 쉐이더 연산 횟수가 줄어들어서 SSAA보다 나은 성능을 제공한다.