본문 바로가기
여러 분석/[ 단어 정의 ]

비등방성 필터링(AF)

by 류 진 2023. 10. 23.
728x90

폴아웃: 뉴 베가스

이방성 필터링, 애니소프트로픽 필터링 등의 다양한 명칭으로 부르기도 하지만, 줄여서 간단하게 AF라고 부르기도 한다.

 

읽기 전에 '텍스처 필터링'에 관련되어 먼저 읽으면 도움이 된다.

 

텍스처 필터링에 대한 설명은 여기를 눌러 참조.

비등방성 : Anisotropic

방향에 따라 물체의 물리적 성질이 다르게 변화하는 현상을 나타내는 말로, 3D 그래픽에서는 텍스처를 다양한 화면에서 봐야 하기 때문에 이러한 비등방성이 항상 일어난다고 보면 된다.


비등방성 필터링의 원리

밉매핑의 기반은 텍스처가 축소되는 정도에 따라 미리 다운스케일 된 밉맵을 사용하여 안티에일리어싱의 효과를 얻는 것이다.

밉맵, 밉매핑에 대한 자세한 설명은 여기를 눌러 참조.

안티에일리어싱에 대한 설명은 여기를 눌러 참조.

 

3D 그래픽에서 우리가 바라보는 텍스처는 시선에서 항상 수직인 것이 아니다.

 

우리가 보았을 때 비스듬하게 위치한 텍스처의 경우 가로축과 세로축이 축소된 정도가 달라질 수밖에 없다.

 

이중선형 필터링이나 삼선형 필터링에서는 이런 경우에도 하나의 값만을 이용해서 밉맵을 사용하지만, 그러지 않고 가로축과 세로축 각각에 대해 밉맵을 따로 만들어두는 것이 비등방성 필터링이다.

 

예를 들어 원본 텍스처의 크기가 1024 ×1024라고 하면, 보통의 밉맵은 512x512, 256x256, 128x128,... 이런 식으로 만들어진다.

 

따라서 가로축과 세로축이 1/2배로 축소된 경우에는 512x512 밉맵을 쓸 것이고 아무 문제가 없다.

 

그러나 가로축은 그대로인데 세로축만 1/4로 축소된 경우(멀리 있는 바닥 텍스처 등)에는 512x512 밉맵이나 256x256 밉맵을 써야만 하며, 어느 경우든 가로축의 해상도는 떨어져 보일 것이다.

따라서 가로축은 그대로이고 세로축만 1/4로 축소된, 1024x256 밉맵을 미리 만들어두는 생각을 해볼 수 있다.

 

이렇게 하면 세로축의 에일리어싱은 없으면서도 가로축의 해상도는 1024 그대로를 유지할 수 있다.


이렇게 1024x512, 1024x256, 1024x128,... 식으로 세로축이 축소되는 밉맵과, 512x1024, 256x1024, 128x1024,... 식으로 가로축이 축소되는 밉맵, 그리고 또 512x512, 512x256, 512x128,...처럼 가로축이 1/2인 경우,... 등등을 모두 만들어 놓으면, 가로축과 세로축이 축소된 정도 각각에 따라 적절한 밉맵을 사용할 수 있다.

 

이것이 비등방성 필터링이다.


비등방성 필터링 효과

멀리 있으면서 시선에 비스듬한 물체의 텍스처 선명도가 비약적으로 상승한다.

 

텍스처를 정면으로 볼 때는 이론적으로도 체감으로도 삼선형 필터링과 전혀 차이가 없지만, 점점 비스듬하게 볼수록 텍스처 선명도의 차이가 확 느껴진다.

 

먼 거리를 봐야 하는 게임에서 이 옵션을 적용시킬 경우 체감그래픽 향상에 큰 도움을 받을 수 있다.

 

텍스처의 가로축과 세로축의 축소비율이 크게 차이나는 경우, 많이 축소된 쪽에서 에일리어싱이 일어나거나, 덜 축소된 쪽의 해상도가 떨어질 수밖에 없는 이중선형, 삼선형 필터링과는 달리, 축소된 쪽은 축소된 만큼 다운스케일 하여 안티에일리어싱이 되고 덜 축소된 쪽의 해상도는 그대로 남아있으므로 선명하게 볼 수 있다.

 

비율 차이가 클수록, 즉 거리가 멀고 시야에 비스듬할수록 삼선형 필터링과의 차이는 커진다.

 

이 기술은 안티에일리어싱과 같이 게임에서 주로 사용되는 기술로, 3D 게임에서 원거리 텍스처를 샘플링하여 선명하게 보여준다.

 

텍스처(비트맵그래픽)의 크기 변화(오버/언더 샘플링)에 따른 에일리어싱 효과를 제거한다. 즉, 텍스처 전문의 안티에일리어싱 기술의 일종이다. 그와 동시에 매우 높은 시야각을 제공한다.

 

안티에일리어싱과 다르게 크게 설정해도 프레임에 그다지 큰 영향은 주지 않는다.

 

NVIDIA에서는 이를 이방성 필터링이라고 부르는데, 번역의 문제일 뿐 같은 단어이다.

비등(非等, 동등하지 않음) 방성 = 이(異, 다름) 방성