Sponsored Feature : 진화하는 게임 – 실험적 클라우드 기반의 레이 트레이싱
대니얼 폴(Daniel Pohl) 가마수트라 등록일(2011. 03. 30)
http://www.gamasutra.com/view/feature/6322/sponsored_feature_changing_the_.php
게임에서의 실시간 레이 트레이싱은 최근에 정점을 찍고 있지만, 유망한 수준의 쉐도우, 반사 및 라이팅 효과는 표준의 렌더링에서는 가능하지 않다. 가장 큰 장애물은 복잡한 계산을 필요로 하고 있다는 것 때문인데, 게임에서의 사용이 극히 제한적이었다는 배경도 가지고 있다. 그러나 클라우드는 이것을 바꾸어 놓을지도 모른다.
클라우드 기반의 렌더링은 게임 월드에서 모멘텀을 얻고 있다. (GDC에서, Gaikai 와 OnLive는 서버 베이스의 게임을 선보였다.) 그래서 서버 사이드 레이 트레이싱이 게임에 활용가능하다고 할 수 있지 않겠는가? 인텔의 스폰서를 받고 있는 이 글에서, 대니얼 폴은 레이 트레이싱 게임 기술의 선도 전문인으로써, 믈라우드 기반의 실시간 레이 트레이싱의 장점과 Intel® MIC Architecture를 활용하여 클라우드 기반의 렌더링 접근법을 시연하고자 하고 있다.
더 많은 대니얼의 작업을 보고자 한다면 Quake Wars Gets Ray Traced을 읽고 http://www.wolfrt.de/. 웹사이트를 방문하라.
-- Orion Granatir
서문
컴퓨팅 과정에서 게임을 변화시키는 요인은 클라우드에 기반한다. 단어가 때로는 과용하게 사용되기도 하지만, 컨셉 자체는 기업이나 소비자 모두에게 흥미로운 이득을 제공한다. 클라우드를 활용하는 것에 대한 예는 컴퓨터 게임과 관련 있다.
OnLive와 Gaikai 같은 기업은 게임 그 자체를 클라우드 서버에서 서비스할 수 있도록 하는 비즈니스를 선보이고 있다. 게임과 클라이언트 사이의 상호작용을 처리하면서, 서버는 압축된 렌더링 이미지를 이용자에게 다시 보낸다. 클라우드 기반의 렌더링 접근은 장점이 아주 많다. 가령, 이용자는 게임을 설치하기 위해 기다릴 필요가 없고, 최신 상태의 게임 패치를 받을 걱정을 할 필요도 없다. 이용자의 컴퓨터의 하드 디스크 용량이 아주 적어도 상관없다. 게임은 클라이언트 편에서 복사될 수 없기 때문에, 게임 DVD를 컴퓨터에 넣는 것처럼 불법 복제물 체크를 할 필요도 없다. 개발자에게는 또한 게임의 데모 버전을 쉽게 보여줄 수 있는 창구가 되며, 제한된 시간만 플레이를 할 수 있도록 하여 소비자가 전체 게임에 대해 첫 인상을 가질 수 있는 기회를 준다.
또 다른 장점은 게임 클라이언트가 많은 다른 OS에서 구동되고 이로 인해 각기 다른 플랫폼에 맞게 포팅하는데 소요되는 시간을 줄일 수 있게 된다. 복잡한 계산이 서버에서 이루어지기 때문에 넷북, 태블릿 및 스마트폰과 같은 다양한 플랫폼에서 최신의 게임이 구동될 수 있다. 어떠한 장치에서라도 전문적으로 그래픽이 복잡한 최고의 게임을 구동할 수 있는 가능성을 열어주게 된다. 최근의 게임은 대체로 게이머가 기대하고 있는 수준의 퍼포먼스를 갖추기 위해서 일반적인 사양의 그래픽 카드에 맞도록 하드웨어 렌더링을 이용하고 있다. 이 접근법 역시 장점이 많지만, 게임 개발자가 그들의 게임에서 활용할 수 있는 선택을 제한하게 된다. 포인트 렌더링, 픽셀 렌더링 또는 레이 트레이싱과 같은 다른 렌더링 알고리즘이 있을 수도 있고, 이것은 게임이 좀더 사실적으로 보이도록 해 줄 수 있다.
레이 트레이싱은 반사, 굴절, 그림자와 같은 정확한 계산된 효과로 실사와 같은 그래픽을 만들어 내는 물리 법칙을 이용한 기술을 말한다. 클라우드 게임 모델은 실시간으로 레이트레이싱을 가능하게 하는데 필요한 최신의 하드웨어에 좀더 많은 사람들이 접근할 수 있도록 하는 방법을 제공한다.
최근에, Intel Labs는 멀티 코어 Intel® processor에서 구동되는 실시간 레이 트레이싱 엔진개발에 점진적인 발전을 보이고 있다. 2008년, 우리는 쿼드 코어 CPU를 이용한 서버를 기반으로 둔 Intel® Xeon® processor에서 초당 15-20 프레임을 구동할 수 있는 Quake Wars: Ray Traced를 볼 수 있었다. 최적화를 시행한 몇 달 후에, 우리는 똑 같은 네개의 소켓 서버를 이용한 데모를 볼 수 있었다. 그러나 새로 업데이트 된 식스 코어 Intel® Xeon® X7460 processors는 20-35 fps 였다. 그 다음해 Intel processor는 똑 같은 프레임을 달성할 수 있는 투소켓을 가진 워크 스테이션 시스템으로 넘어갔다. 지속적으로 퍼포먼스가 증가되는 상위 코어코넛과 Sandy Bridge 라는 코드 네임의 Intel® microarchitecture와 같은 새로운 아키텍쳐를 보게 될 것임이 분명하다.
이 알고리즘을 위한 플랫폼이 2010년 5월에 발표된 Intel® Many Integrated Core Architecture (Intel® MIC Architecture)으로 다가오고 있다. 레이 트레이싱이 매우 병행적인 알고리즘이기 때문에, Intel MIC Architecture는 퍼포먼스 측면에서 큰 성과를 가져오게 할 것이다. 고성능 컴퓨팅 시장의 병행적 어플리케이션 및 데이터 센터에 가용한 수 많은 코어를 증가시켜서 가능하게 할 것이다. 이러한 사실들이 이 글의 주제를 이끌어 낸다 : 클라우드 기반의 게이밍 모델에 따라 Intel MIC Architecture를 함께 개발하여 실시간 레이 트레이싱으로 좀더 발전되고 사실적인 이미지 렌더링을 가능하게 한다는 것이다.
Ray Tracing 개괄
레이 트레이싱은 아주 사소한 차이로, 자연에서 찾을 수 있는 빛의 광선을 자극시키는 렌더링 알고리즘이다. 본질적으로, 광선은 빛의 원천(가령, 태양)에서 기인하여 종국에는 인간의 눈을 비춘다. 레이 트레이싱 알고리즘은 역으로 이 순서를 따른다 : (가상 카메라 처럼) 눈에서 장면으로. 이러한 광선이 지형물의 물체를 비추는 지점이 계산된다. 그리고 나서, 쉐이더 프로그램이 표면을 구성하기 시작한다.
가상 카메라에서 나온 광선이 자동차를 비추고 집을 향해 반사된다. 쉐도우 레이는 빛의 원천을 향해 자동차에서 나아간다.
이 과정을 통해, 반사와 투과와 같은 물질적인 특징이 평가된다. 텍스쳐의 색깔이 덧입혀질 수 있고 비추임, 반사 및 굴절을 테스트 하는 두번째 광선이 여기서 추적될 수 있다.
레이 트레이싱은 이미 전문적인 그래픽 시장에서는 흔하게 사용되어지고 있다. 이것은 보통 오프라인(즉, 상호작용적이지 않은) 업무에서 행해지는데, 엄청난 시간을 하나의 이미지에 소비하는 그런 업무에 사용된다. 인터랙티비티의 정도를 가질 수 있도록 하기 위해서, 여러 번 정제되는 최종 이미지의 프리뷰가 존재한다. 때로는, 큰 클러스터가 인터랙티비티를 가지기 위한 해결책이 되었었다.
자동차 산업은 레이 트레이싱을 전문적으로 활용한 중요한 예이다. 자동차가 설계되기 전에, 실사와 같은 방식으로 첫 모습을 미리 볼 수 있다는 것은 매우 중요하다. 이 과정을 통해, 제조사는 원하는 특징을 가진 자동차 모델을 만들 수 있고, 만약 자동차의 특정한 물체나 그림자가 운전자를 방해할 지도 모르는 반사를 야기시킨다면, 디자인 단계에서 쉽게 결함을 발견할 수 있다. 헤드라이트와 같은 물체를 모델링하기 위해서, 물체 안에서 튀어 나오는 다양한 광선이 있는 복잡한 조명 계산이 해결되어야만 한다. 레이 트레이싱은 물리적으로 정확한 이미지를 얻을 수 있는 가장 좋은 해결책임이 증명 되었다.
※ 자세한 내용은 첨부(PDF)화일을 참고하시기 바랍니다.
|