목차

  1. Temporal Anti-Aliasing 이란
  2. 구현 방식
  3. 할톤 수열 (Halton Sequence)
  4. Jittering 적용
  5. 혼합
  6. Ghosting
  7. 동적 씬에서의 아티팩트 해결
  8. 마치며
  9. Reference

Temporal Anti-Aliasing 이란

Tmporal Anti-Aliasing(이하 TAA)은 공간축선 안티에일리어싱(Spatial anti-aliasing)의 일종으로 과거 프레임의 이미지를 현재 프레임의 이미지에 결합하여 이미지의 계단 현상을 제거하는 기법입니다. TAA는 다른 AA기법들과 비교했을 때 적은 비용을 사용하여 안티에일리어싱 효과를 얻을 수 있다는 장점이 있지만 이전 프레임의 이미지와 결합하는 과정에서 흐릿한 이미지를 얻게 되는 경우가 있습니다. ( 이를 해결하기 위해서 추가로 Sharpen 필터를 적용하는 경우가 있습니다. ) 여기서는 간단한 TAA의 구현 방식을 살펴보도록 하겠습니다.

구현 방식

TAA는 다음과 같은 순서로 구현됩니다.

  1. 매 프레임에 씬을 그릴 때마다 스크린 평면의 각기 다른 방향으로 위치를 살짝 이동하여 씬을 그립니다. ( Jittering 적용 )
  2. 이렇게 렌더링 된 현재 프레임의 이미지와 이전 프레임들의 이미지(= History buffer )를 조합합니다. ( 혼합 )
  3. 조합한 이미지를 Frame Buffer에 복사합니다.

이후로 각 단계를 좀 더 자세히 살펴보도록 하겠습니다.

할톤 수열 (Halton Sequence)

매 프레임마다 씬의 위치를 조금씩 이동시키기 위해 TAA에서는 할톤 수열이라는 것 사용합니다. 할톤 수열은 몬테카를로 시뮬레이션 등에서 사용되는 공간상의 점을 생성하는데 사용되는 수열로 결정론적(= 같은 입력에 항상 같은 출력값을 가짐) 이며 저 불일치(low discrepancy)인 수열입니다. 저 불일치 수열은 기존 숫자로 부터 가능한 멀리 떨어져 있는 숫자를 연속하여 생성하기 때문에 군집화를 방지합니다. 아래 도표는 할톤 수열로 생성한 2차원 점과 랜덤하게 생성한 2차원의 점 216개를 서로 비교한 결과로 저 불일치 수열의 특징을 보여줍니다.