게임/알고 싶다

안티에일리어싱이란?

jhnambi 2022. 12. 18.
주의 :  이 글의 목적은 자기계발 용도와 게임에서 쓰이는 각종 그래픽옵션 관련 단어 (안티에일리어싱, 셰이더, 텍스쳐 품질등) 들이 처음 보는 사람에게는 굉장히 생소하고 어려워 보이기 때문에 해당 부분에 대한 이해를 쉽게 하기 위해 작성되었습니다.

주의 : 해당분야는 전문적인 분야이며 그리고 실시간 발전되는 기술입니다. 지금도 새로운 기술들이 나오고 있어 틀린 부분이 있을 수도 있습니다. 

 

1. 계단현상이란?

 

3D게임을 하다보면 자연스럽게 계단현상을 단어를 한번쯤 들어봤을 것이다. 계단 현상이란 아래 그림처럼 모서리 같은 부분이 자글자글하게 화면에 나타는 부분이라고 하는데 해당 부분을 Jiggy Effect, Aliasing 이라고 한다.

 

계단현상, GTA 그래픽 옵션

 

그래서 대부분의 3D 게임은 계단현상을 제거 해주는 안티에일리어싱 옵션을 제공해준다. FXAA, MSAA, TAA등 해당 옵션이 굉장히 많은데 애초에 이런 옵션들이 제공되는데 대체 왜 계단현상은 발생하는 걸까? 계단현상은 왜 발생하는 건지에 대해서 알아보자 

 

 

 

계단현상- 위키백과

 

 

계단현상을 위키 백과에 검색해보면 원래의 연속적인 신호와 달라지는 "일그러짐"을 가리킨다고 설명하는데 내 기준으로  대체 무슨 소리인지 이해가 안된다ㅠㅠ. 그래서 쉽게 설명해보자면 예를들어 컴퓨터가 아래 그림과 같이 대각선으로  그리고 싶다 가정해보자.

 

대각선으로 그리고싶다! 하지만 모니터는 픽셀이기 때문에 맨 오른쪽 그림과 같이 나타낸다잇

 

 

하지만 모니터의 경우 정사각형인 픽셀로 영상을 표시하기 때문에 3번째 그림과 같이 나타날 수 밖에 없다. 그래서 모니터 화면에 일그러짐이 나타나게 된다.

 

 

 

이러한 현상은 영상 말고도 소리에서도 발생하며 심지어 우리 눈에서도 발생한다. 우리가 보는 세상의 해상도는 사실상 무한 이지만(우리 눈으로 볼 수 있는 세상의 해상도는 약 536백만 픽셀이라고 한다.. 1920x1080 곱하기 250배가 우리 눈인 것이다. 게임만하지 말고 밖에나가라는 부모님의 큰 뜻이 여기에 있다ㅎ) 

 

우리 눈의 해상도는 모니터와 비교하면 말도 안되게 높기 때문에 우리가 실제로 보는 세상에서는 계단현상을 거의 볼 수가 없다. 따라서 안티에일리어싱을 없애려면 모니터 해상도를 말도 안되게 높이면 가능은 할 것이다. 하지만 현재까지는 불가능하기 때문에 계단 현상은 나타 날 수 밖에없다.

 

결론 적으로 컴퓨터로 보는 세상은 해상도가 제한되어 있기 때문에 가장자리가 표시되는 곳에 일그러짐이 발생하게 되는 것이다. 

 

모니터 해상도를 말도 안되게 높이는 방법은 굉장히 비효율 적이며 현실적으로 불가능하기 때문에 계단현상을 없애기 위해서는 눈속임 기술, 안티에일리어싱 옵션을 통해 계단현상을 없앨 수 있다.

 

 

포토샵에서 안티앨리어싱 옵션 유무에 따라 원 테두리 부분이 달라진다

 

 

포토샵에서 원을 그린다음 안티에일리어싱 옵션을 통해 비교해보면 원 테두리 부분이 안티에일리어싱 적용 전과 비교하여 후가 훨씬 더 부드러워 졌음을 알 수 있다. 안티에일리어싱의 원리는 간단하다. 아래 그림과 같이 픽셀수의 한계로 삐쭉빼쭉 하게 표현된 테두리에 비슷한 색깔을 테두리에 집어 넣음으로써 보기 편하게 바꾸는 것이다.

 

 

비슷한 색깔을 중간에 집어 넣음으로써 화면을 부드럽게, 계단현상을 없애는 것이다

 

 

 

하지만 명확하게 우리 눈에만 보기 좋을 뿐이지 원본 이미지에서 많이 왜곡되고 손상되고 선명도도 떨어 질 것이다. 여튼 안티에일리어싱 옵션을 단순하게 설명하자면  비슷한 색깔들을 중간에 집어 넣음으로써 보이는 픽셀을 부드럽게 바꾸는 것이다. 근데 대체 왜 게임에서는 안티앨리어싱 옵션이 드럽게 많아 유저들을 고민하게 만드는 것일까? 

 

 

 

안티앨리어싱 옵션, 진짜 더럽게 많다..

 

 

이렇게 많은 안티에일리어싱 옵션의 차이는 비슷한 색깔을 어떻게 추출한 것인지, 이미지를 만들고 있는 도중에 안티에일리어싱을 적용할지, 이미지를 다 만들고 나서 안티에일리어싱을 적용하는지에 따라 달라지게되고, 또 어떤 옵션은 해상도를 엄청 늘리는 옵션이다.

 

소리의 애일리어싱은 사실 현대의 기술로 거의 다 잡힌 상황이지만 영상쪽은 슈퍼 초 고해상도의 모니터가 보편화가 되지 않기 때문에 갈 길이 멀어보이긴 한다. 하지만 미래의 컴퓨터 성능이 엄청 좋아지고 해상도도 말도 안되게 커진다면 결국 눈속임 옵션인 안티에일리어싱은 사라 질 수도 있을 것이다.

 

 

2. 안티에일리어싱 옵션

 

위에서 간략하게 설명했듯이 우리가 보는 세상은 해상도가 무한 이지만 컴퓨터로 보는 세상은 해상도가 제한되어 있기 때문에  가장자리를 표시할때 일그러짐이 발생하게 되는데 해당 부분을 계단 현상이라 한다. 그래서 이를 해결 하기 위한 옵션이 안티에일리어싱 옵션이고 수많은 옵션이 존재한다. 3D 게임을 하다보면 그래픽 관련 옵션에서 TAA, FXAA ,SMAA, MSAA등 한번쯤은 봤을 것이다.

 

여기서 안티에일리어싱 옵션을 키면 화면이 흐려지는 이유가 존재한다. 특히 안티에일리어싱 물체 가장자리를 부드럽게 만드는 방법에 따라 크게 두가지로 나뉜다. 실제 3D정보 속에서 가장자리를 찾는 '지연 안티에일리어싱' 그리고 이미 만들어진 2D화면 속에서 가장자리를 찾는 안티는 '포스트 안티에일리어싱' 이라고 불린다.

 

지연 안티는 화면의 선명함을 잃지 않고 화면을 부드럽게 만들어주지만 컴퓨터의 연산량이 상당히 많아져서 성능 하락이 심한편이다. 반면 포스트 안티는 정확하게 가장자리를 찾는것이 아닌 대충 모서리가 있는 곳을 추측해서 안티효과를 주기 때문에 연산량이 적어 성능하락은 없지만 모서리가 아닌부분에 안티효과를 줄 수 있기 때문에 화면이 흐려지는 이슈가 있다.

 

안티앨리어싱들은 최근 다양한 기술이 접목되면서 두가지 기준에 명확하게 구분되지는 않지만 굳이 구분하자면 MSAA는 지연안티, TAA, FXAA, SMAA등은 포스트 안티에 속한다. 해당 옵션등이 어떤 기능인지 간략하게 알아보자.

 

출저 : 코어오브아이디어

 

 

1. MSAA  (Multi Sampling Anti-Aliasing)

MSAA는 하나의 픽셀을 설정에 따라 2번,4번 혹은 8번 추출해서 픽셀당 면이 차지하는 비율에 따라 픽셀의 음영을 조절해서 안티효과를 준다. 그래서 모든 픽셀을 추출해 안티를 주는 슈퍼 샘플링과는 달리 모서리에 걸친 픽셀만 추출하기 때문에 비교적 성능 하락이 적다. 아래 예시 gif는 MSAA가 특정 설정에 따라 음영을 조절하고, 모서리에 걸린 픽셀을 추출해 안티효과를 준다.

 

첫번째에서 먼저 설정에 따라 픽셀당 면을 차지하는 비율을 계산하고 두번쨰 짤에서 모서리에 걸린 부분만 안티효과를 주는 것이다.

 

 

2. FXAA  (Fast Approximate Anti-Aliasing)

FXAA는 화면에 밝기를 분석하고 밝기가 갑자기 변하는 곳을 찾아서 안티효과를 주는 기술이다. 3D정보를 이용하지 않아 부정확 하기 때문에 물체의 가장자리가 아닌 텍스쳐에도 적용이 되서 화면이 흐려질 수는 있지만 성능 하락이 제일 없는 기술중 하나이다.

 

화면에 밝기 부분을 분석 한뒤 밝기 변화에 따라 안티옵션을 적용하는 FXAA

 

 

3. SMAA  (Subpixel Morphological AntiAliasing)

위 SMAA기술은 필자가 제일 좋아하는 게임중 하나인 파크라이에 쓰인 유로그래픽포럼2011에서 크라이엔진3로 처음 시연 되었다. 화면의 가장자리를 찾을 때 미리 설정된 패턴에 따라 안티효과를 줘서 FXAA와 비교했을 때 좀 더 선명한 화면을 얻을 수 있고 다른 안티와 같이 이용되기도 한다.

 

SMAA

 

4. TAA  (Temporal Anti-Aliasing)

TAA의 경우 움직일 때 화면에 지글거리는 현상을 제거하기 위해 이전, 현재 화면을 섞는 기법을 사용하고 화면이 정지했을 때 안티효과를 주기 위해 MSAA도 같이 사용되기도 한다.

 

TXAA

 

 

 

여기서 대부분의 게임은 성능하락이 적은 포스트 안티를 채택하기 때문에 화면이 흐려보이게 나오는 경우가 많은데,  배틀그라운드 같은 게임은 내가 어떤 안티를 적용하고 있는지 옵션에서도 알 수가 없어. 그래서 유저가 선명한 화면을 얻기 위해서 직접 안티를 설정해야 하는 경우가 있다. 레인보우식스 시즈 같이 세부적으로 안티옵션을 설정하는 게임도 있지만 대부분의 게임은 세세한 안티옵션 설정을 제공하지는 않는다.

 

배틀그라운드와 레인보우식스 시즈 그래픽 옵션 시즈의 경우 유저가 상세하게 안티앨리어싱 옵션 설정이 가능하다 

 

그래서 유저입장에서는 ReShade를 사용해서 안티앨리어싱 옵션을 사용 할 수도 있다. 엘더스크롤 시리즈를 해봤다면 ReShade를 활용해 그래픽  품질 관련  모드등에서도 설정이 가능하다. https://reshade.me/

 

Home

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note

reshade.me

 

 

이렇게 게임 계단현상이 생기는 이유와 해당 현상을 보정해주는 안티앨리어싱 옵션에 대해서 알아보았다. 다음에는 3D 게임 그래픽 옵션에서 색수차, 렌즈플레어, 모션블러등 굉장히 생소한 단어들이 있어 콜오브듀티, 배틀필드 게임할 때 어렴움을 겪었던 경험이 있는데 해당 기능들에 대해 간단하게 알아보는 글을 작성 할 예정이다. 

'게임 > 알고 싶다' 카테고리의 다른 글

HDR이란?  (2) 2022.12.18
포스트프로세싱이란?  (0) 2022.12.18
수직 동기화란?  (0) 2022.12.03
게임 엔진이란?  (2) 2022.12.03
물리엔진이란?  (2) 2022.11.27

댓글