Retro Game & PC/매뉴얼 팁 작업

에뮬 화면에서 그래픽 filter의 중요성

smores 2014. 9. 12. 04:34

AppleII 실기가 없는 상황에서 고전 애플 게임을 즐기고 싶은 입장에서 에뮬레이터를 사용할 수 밖에 없다. 사실 실기가 있다 하더라도 이것 저것 편의를 고려하면 PC 상에서 에뮬레이터로 즐기는 것이 편한 경우가 많다. 본인의 경우 Commodore 64 실기를 한 세트 가지고 있다. 하지만 마눌님의 눈치 등으로 해서 대놓고 책상에 꺼내서 세팅해 놓을 형편이 안된다. 더구나 소프트웨어 디스켓을 구하는 일도 그렇고 해서...

 

이런 이유로 본인은 에뮬레이터를 주로 쓰게 되는데 개인적으로 그냥 소프트웨어를 돌려주면 만족하는 것이 아니라 가급적이면 PC의 LCD 모니터상에서 에뮬레이터가 구현해 주는 이미지가 실기 CRT 모니터에서의 이미지와 유사한 느낌을 얻고 싶다.

 

많은 종류의 고전 게임기 에뮬레이터(주로 8, 16비트 시절의 콘솔 및 컴퓨터 에뮬레이터들)을 접해보면서 일부 에뮬레이터들은 작은 윈도우 화면상에서도 상당히 근사한 화질을 보여준다. 게다가 일부 에뮬레이터들은 그 윈도우의 사이즈도 단순히 x1, x2 식의 정수배율이 아니라 마음대로 바꿀 수도 있다. 본인이 가장 좋아하는 부분이다. 그런데 그러한 에뮬레이터의 스크린 필터의 기능의 공통점은 antialiasing 또는 image 경계의 smoothing 하는 기능인데 잘 알려진 필터 기능으로는 bilinear interpolation filter 가 그에 해당하는 것 같다. 오늘날의 발전된 그래픽 카드들은 이러한 기능들을 Direct3D 또는 SDL/OpenGL 등을 통해서 하드웨어적으로도 지원해 주기에 이 기능의 구현 자체가 에뮬레이션에 큰 부담이 없을 것이다. 

 

다음은 본인이 왜 그렇게 antialiasing 처리된 이미지를 원하는지 보여주는 실제 예이다. 먼저 다음의 두 그림은 Sony Vaio 노트북 상에서 Commodore 64 에뮬레이터인 CCS64를 전화면 모드로 돌린 그림이다. 여기서 antialiasing filter는 사용하지 않았다.

 

 

 

 

 

그림에서 볼 수 있듯이 저해상도 C64 이미지를 확대하는 과정에서 하나의 픽셀을 고해상도 LCD 모니터 상에서는 다수의 픽셀로 그려주는데 그 경계를 부드럽게 처리하지 않고 그냥 큰 사각 픽셀로 묘사해서 계단현상이 도드라지게 보인다. (마치 깍두기를 모아 놓은 것 같다. -_-) 사람에 따라서는 이러한 픽셀 묘사를 선호하는 경우도 있을 것이다. 하지만 본인은 이것을 극도로 싫어한다. 8비트 시절부터 오랜 시간 CRT 모니터를 사용했던 경험 상 실제 아나로그 모니터에서는 이런 깍두기 같은 픽셀을 보여주지 않는다. 오히려 소프트웨어 상으로는 픽셀의 위치 상 계단처럼 보이는 것이 당연할 것 같은 데이터 조차 부드럽게 연결해 주는 것이 아나로그 모니터인 것이다. 

 

 

 

 

 

위의 그래픽 이미지의 VGA 출력을 바이오 노트북상에 있는 SVideo 출력단을 통해 SVideo-composite 컨버터 단자를 거쳐서 Sony Trinitron WEGA 24인치 TV에 보내 보았다. 그 결과는 다음의 두 그림과 같다. 그림에서 보는 것 같이 깍두기 같은 계단현상은 더이상 남아있지 않다. 이것이 아나로그 CRT 모니터의 느낌이라고 생각한다.

 

계단현상 뿐 아니라 LCD에서 컬러필터를 거쳐 보여주는 컬러와 CRT의 형광체에서 직접 나오는 색감의 차이 역시 완전히 다르다. 아예 처음부터 최신 디지털 디스플레이를 대상으로 만든 그래픽/게임과는 달리 고전 게임들은 개발부터 CRT 화면상에서 최상의 이미지를 고려해서 그래픽 디자인을 하였을 것이다. 다음의 두 그림을 비교해 보면 본인이 무슨 말을 하는지 알 수 있을 것이다. 

 

그림은 오즈의 마법사의 한 장면을 CCS64에서 기본 PAL 팔레트를 기준으로 LCD 모니터에서 본 것이다. 무척 색감이 칙칙하다. 실기를 보기 전까지는 본인은 C64의 화질은 다 그렇게 색감이 우중충한 줄 알았다. 헌데 같은 소프트웨어를 실기에서 돌리고 이를 아나로그 1702 모니터에서 보는 순간 너무도 놀랐다. 칙칙한 갈색 같은 그림이 산뜻한 밝은 노랑으로 나오는 것이 아닌가? 그것도 가로 세로 aspect ratio도 안 맞는 LCD 상의 그림에 비해 원이 제대로 원형으로 보인다 !! (심지어 PC 에뮬레이션 화면을 VGA-composite 컨버터로 변환해서 Sony TV나 1702 모니터에 연결해서 봐도 색감이 완전히 틀려진다)

 

 

 

 

 

일부 에뮬레이터들은 이러한 실기와 LCD 화면상에서의 차이를 고려해서인지 이미지를 smoothing하는 필터 및 컬러 팔레트 보정 기능이 들어있다. 예를 들면 CCS64의 경우나 다수의 console 에뮬레이터 들이 적어도 bilinear filter는 지원하고 간혹 컬러 팔레트 조절 기능역시 지원된다. 특히 bilinear filter 지원하는 에뮬레이터들의 상당수는 화면 크기를 (윈도우 사이즈를 끌어서 바꿈으로써) 임의로 가변하는 것이 가능한 경우가 많다 (CCS64, Visualboy Advance, Nestopia, SN

 

ES, retroarch gl driver 등). 이러한 에뮬레이터를 사용할 경우에는 궂이 CRT 모니터에서 보고 싶은 마음이 크게 들지를 않는다. 다음은 CCS64에서 antialiasing과 color 팔레트 차이에 보여주는 사례이다.

 

 

 

 

 

 

 

비슷한 경우가 Dosbox에서 CGA 모드에서 돌아가는 게임을 할 경우에도 발생한다. PC 게임의 경우 보통 VGA급 이상의 해상도를 지원하는 게임은 그 자체가 이미 고해상도에 맞춘 그래픽이라 그냥 봐도 무방하다. 하지만 CGA (또는 MCGA) ~ EGA 해상도의 게임의 경우는 윈도우의 고해상도 모니터에서 기본 해상도로 보면 이미지가 무척 작다. 최근 해상도가 높아진 13인치 랩탑 사이즈에서 full HD 이상의 고해상도를 지원하는 LCD 모니터에서 보면 얼마나 작은 윈도우로 봐야 할지 상상이 갈 것이다. 이때문에 그냥 도트사이즈 정수배의 scale up을 해 버리고 나면 심각한 깍두기 현상이 발생한다. 개인적으론 이런 화면만 보면 그만 짜증이 나버리곤 한다. Dosbox는 이를 위해 다양한 스크린 필터와 더불어 D3D scaler 까지 지원하는데 (SVN 버전의 경우) 역시 화면 사이즈는 x2, x3 식으로 정수배 밖에 키울수가 없다 (그것만이라도 다행이라고 생각할 수 있지만... 나중에 이와 관련한 다른 글을 포스팅 할 예정임). 어쨌거나 기본으로 주어진 filter 중 일부는 그럭저럭 CCS antialiasing 또는 다른 에뮬레이터의 bilinear interpolation 과 비슷한 효과도 있기는 하지만 (아마도 Advanced Mame 2x 인것 같다) 개인적으로 2% 부족한 느낌이 남는다. 

 

다음은 dosbox에서 MCGA 모드에서 돌아가는 Bard's Tale I 을 돌려서 본 스크린 샷 (normal 2x & advance mame 2x filter를 적용한 경우)과 normal 2x 화면을 TV로 보냈을 경우의 사진이다. Advanced Mame 2x 필터 조차 TV에서의 사람 얼굴 및 불꽃의 색상 그라데이션의 자연스러움을 따라가질 못한다.

 

 

 

 

 

 

하지만 도스 게임의 경우 VGA 해상도 이하에서 돌아가는 진짜 고전 게임을 즐길 작정이라면 다소 편의성은 떨어지지만 Dosbox가 아닌 다른 방법으로 그런데로 괜찮은 화질을 에뮬레이트하는 방법도 없는 것은 아니다. 이 방법은 별도의 포스트에서 자세히 다루기로 하고 여기서는 하나의 예만 보여주기로 한다.

 

 

 

 

결론을 요약하자면 LCD 화면에서 즐기는 고전게임 에뮬레이터의 이미지를 TV 등으로 보내지 않고 그냥 LCD 상에서 볼 경우라면 (해상도가 VGA급보다 많이 낮은 정말 오래된 기종의 이미지의 경우) 가능하면 bilinear filter가 적용된 부드러운 이미지에 추가적인 컬러 보정 및 화면 사이즈, 가로세로 비율을 자유롭게 조절할 수 있는 에뮬레이터를 쓰는 것이 그래도 CRT 화면에서 보던 것과 가까운 이미지를 즐기는 방법이 아닐까 한다. 

 

 

마지막으로 에뮬레이터의 출력을 TV 화면으로 볼때의 색감과 느낌이 어떤지를 보여주는 몇몇 사진을 덤으로 올리며 글을 마친다.