5년 후 게임, 영화와 동등한 그래픽 갖춘다

실사에 근접한 영화 CG

최근 전세계적으로 히트한 영화 '킹콩'에는 특수효과를 위해 2500개 이상의 정교한 미니어쳐들이 만들어졌다고 한다. 그렇다면, 혹시 영화를 보면서 미니어쳐로 만들어진 킹콩과 컴퓨터 그래픽으로 만든 킹콩을 구별할 수 있을까? 정답은 '구별할 수 없다' 이다. 왜냐하면 비록 미니어쳐들이 제작되기는 했지만, 그것들은 킹콩의 모습을 컴퓨터에 옮기기 위한 시험용으로만 사용되었을 뿐, 영화 속에 등장하는 킹콩은 100% 컴퓨터 그래픽으로만 만들어진 것이기 때문이다. 최근의 영화에서 사용되는 컴퓨터 그래픽 기술은 실사와 근접하거나 오히려 능가하는 수준까지 발전해버렸다. 이와 같은 영화 CG의 엄청난 발전에는 조명 기술이나 질감 표현 기술, 모션 캡쳐 등과 같은 테크닉적인 부분의 진보도 큰 기여를 했지만, 무엇보다도 그 동안 컴퓨터의 속도와 용량이 대폭 향상된 점이 큰 역할을 했다. 액체금속으로 된 로봇 CG로 사람들을 놀라게 했던 영화 '터미네이터2'가 지금으로부터 15년 전에 등장했었는데, 당시 주류 PC였던 386 컴퓨터 사양이 33MHz의 CPU 속도와 4MB의 램에 불과했다는 점을 고려하면, 실로 그동안 100배 이상의 발전이 있었던 셈이다.


최신의 컴퓨터그래픽(CG)으로 완성된 영화 '킹콩'


실시간 그래픽의 한계

그럼 게임기나 PC도 그만큼 속도가 빨라졌으니, 게임에서도 실사와 다름 없는 환상적인 그래픽을 곧 볼 수 있게 되는 걸까? 여기엔 몇 가지 문제가 있다. 게임에 쓰이는 실시간 그래픽스에는 영화 CG에는 없는 한계들이 있기 때문이다. 가장 큰 문제는 한 화면을 그리는데 충분한 시간이 주어지지 않는다는 점이다. 영화 CG 작업의 경우, 사실감을 높이기 위해서라면 한 화면을 그려내는데 시간이 좀 오래 걸려도 큰 문제가 없다. 실제로도 최소 몇 분에서 몇 시간이나 걸리는 경우가 많으며, 그만큼 더 해상도도 높고, 물리적으로나 시각적으로 정밀한 화면을 만들 수가 있다. 반면에 게임은 플레이어의 조작을 곧바로 화면에 반영해내야 하므로, 한 화면을 그리는데 그렇게 많은 시간을 들일 수가 없다. 늦어도 0.05초(게임에 따라서는 0.016초)이내의 짧은 시간 안에 모든 처리를 해야 하는 만큼, 해상도나 광원 처리의 정밀도를 떨어뜨릴 수 밖에 없다.또 한가지 문제는 사용할 수 있는 용량의 제한이다. 영화 CG의 경우, 사실상 사용할 수 있는 모델의 복잡도나 텍스쳐의 해상도에 제한이 없어서, 인물 하나에 수백 메가바이트씩 하는 텍스쳐를 여러 장 사용하는 것도 드물지 않게 볼 수 있다. 반면, 게임에서는 한 번에 사용할 수 있는 메모리의 양에 한계가 있기 때문에 기껏해야 만 개 정도의 폴리곤과 수 메가 바이트 정도의 텍스쳐

한 두장을 가지고 캐릭터를 만들게 된다. 여기에서도 다시 한 번 화면의 정밀도가 떨어지게 된다. 아아.. 역시 실시간으로 영화 같은 화면을 만들기에는 너무나 제한이 많다.


렌더팜이라 불리는 영화 CG 렌더링 시설


차세대기에 거는 희망

그러나 최근 몇 년 사이, 실시간 그래픽 기술에도 엄청난 발전들이 있었다. 첫 번째로 꼽을 수 있는 것은 하드웨어 셰이더 가속기의 등장이다. 셰이더란 복잡한 광원이나 재질감을 표현하기 위한 일종의 프로그래밍 언어로서, 불과 5년 전만 해도 셰이더를 실시간으로 실행하는 것은 불가능해 보였으나, 2001년 이후 DirectX 9과 셰이더 모델 2를 지원하는 그래픽 칩들이 속속 등장하면서 영화에서나 사용되던 렌더링 테크닉 대부분을 이제는 저가의 PC용 그래픽 카드에서도 가속할 수 있게 되었다. 뿐만 아니라, PS3나 XBOX360 같은 차세대 게임기에는 예전 기준으로는 거의 슈퍼 컴퓨터에 가까운 수준의 셰이더 가속 하드웨어가 탑재되기에 이르렀다.

또 한가지 괄목할만한 발전은 멀티 코어 CPU의 등장이다. 아무리 그래픽 칩이 빨라져도, 충돌 처리나 머리카락 움직임 처리, 인공지능 등, CPU가 처리하여야 하는 작업들은 줄어들지 않기 때문에, 최근엔 그래픽 칩보다도 CPU가 게임 그래픽의 발목을 잡고 있었다 해도 과언이 아니었다. 그런데 작년부터 듀얼 코어(한 칩에 CPU 두 개가 들어 있는 것) CPU들이 본격적으로 등장하기 시작했고, 차세대 게임기에는 멀티코어 CPU(PS3는 여덟 개, XBOX360은 세 개)가 탑재되는 등, CPU 처리 능력도 비약적으로 상승하게 되었다.

마지막으로 실시간 그래픽 테크닉 자체도 최근 엄청나게 발전해 왔다. 실시간 그래픽에서는 정확성 보다는 속도를 우선시한다. 1-2% 정도 정확성이 떨어지는 대신 10배 빠르게 할 수 있는 방법이 있다면 주저하지 않고 선택한다는 것이다. 이 분야에는 노멀 매핑이라던가 PRT(미리 계산된 전역 조명)와 같은 혁신적인 신기술들이 매년 등장하고 있다.


실시간 셰이더 가속 데모


따라서, 한 번에 많은 물체가 등장하는 넓은 공간에서 조명까지 계속 변화하는 경우라면 용량이나 복잡도 면에서 당분간은 실시간 게임 그래픽으로 표현하기가 힘들겠지만, '특정 공간과 조명 상황'으로 게임의 환경을 제한한다면 PS3와 같은 차세대 게임기 세대에 드디어 영화 수준의 컴퓨터 그래픽이 실현될 수 있으리라 기대된다. 차세대 게임기는 PC로 따지면 쿼드 코어(CPU가 네 개)와 본격적인 언리얼엔진 3 세대, 즉 2008-9년 정도의 일반적인 PC 사양에 해당된다고 보면 넉넉할 것 같다. 이러한 좋은 예가 되는 것이 곧 발매될 EA의 파이트 나이트 3인데, 좁은 공간 내에서 클로즈업 되는 캐릭터의 수가 둘 뿐인 복싱을 테마로 한 게임이므로, 차세대 게임기 초반에 등장한 게임임에도, 상당한 수준의 그래픽을 보여주고 있다.


실사에 근접해 가는 게임 그래픽


물론, 킹콩처럼 넓은 공간에서 뛰어다니는 괴물들과 복잡한 실외 조명까지를 게임에서 똑같이 표현해내려면 앞으로도 5년 이후에나 찾아올 차차세대(?)나 되어야 하겠지만, 일단은 당장 우리를 기다리고 있는 차세대 게임기나 언리얼엔진 3와 같은 신기술들을 통해 점점 현실에 가까워지는 게임 그래픽을 만끽해보는 것도 기술적인 낭만이 아닐까 한다.

기사 작성 : 게임동아 객원 필자 김용하

게임동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.