차원이 다른 게임 그래픽, 실시간 레이트레이싱
현재의 게임 그래픽은 매우 뛰어나다. 과거부터 계속해서 엄청난 발전을 거듭해왔고 그래픽카드나 게임 콘솔의 성능역시 엄청나게 향상되었다. 최근에도 계속해서 폴리곤의 갯수를 늘리지 않으면서 텍스쳐 품질/해상도, 광원 효과 등을 이용해 지속적인 게임그래픽의 발전을 이루어 왔다.
이제까지의 게임 그래픽도 무척이나 영화같았지만 실시간 레이트레이싱 기술이 공개됨으로서 앞으로 더욱 영화같은 게임 그래픽을 볼수 있게 될 것이다. 이것은 이전까지의 실시간 엔진들과는 차원이 다르다.
레이트레이싱이란?
레이트레이싱은 마치 현실과도 같은 광원 효과를 만들어 내는 렌더링 기술이다. 기본 알고리즘은 광선의 경로를 추적하여 3D 오브젝트와 충돌하여 상호작용하는 것을 계산하는 것이다.
레이트레이싱은 눈에 빛이 도달하기까지의 빛 경로를 완벽히 계산한다. 그래서 현재까지의 게임 광원 역시 매우 현실적으로 보이지만, 레이트레이싱과는 비교할 수가 없다. 게임보다 훨씬 뛰어난 그림자, 반사, 투과 그리고 산란을 렌더링할 수 있게 한다.
연산 성능이 충분하다면, 실제와도 거의 구분이 불가능할 정도의 매우 현실적인 컴퓨터 그래픽을 출력한다. 지금의 게임용 컴퓨터 역시 엄청난 성능을 보여주지만 아직까지는 레이트레이싱을 실시간으로 해내기는 매우 버겁다.
실시간 게임 렌더링과 레이트레이싱 렌더링은 무엇이 다른가?
![]() |
게임 엔진은 쉐이더를 통해 굴절 표현을 한다. 위 이미지는 유니티의 굴절 쉐이더 예시. |
게임 그래픽은 레이트레이싱보다 훨씬 렌더링 속도가 빠른 레스터화 기술을 이용한다. 이것은 3D 그래픽을 2D 이미지로 변환해 출력해준다. 하지만 레스터화 기술은 자연스러운 그래픽을 묘사하기 위해 다양한 쉐이더를 필요로 한다.
실시간 게임 렌더링은 광선의 추적을 계산하지 않고 쉐이딩을 통해 우리의 눈에 자연스럽게 보일 수 있도록 하는 것이기 때문에 빛의 굴절, 반사, 그림자 그리고 산란을 정밀하게 표현하지 못한다. 게임에서 볼 수 있는 굴절, 반사, 그림자 등의 효과들은 실제와 비슷하지만 쉐이딩을 통해 우리의 눈을 속인 것이고 실제와 비교하면 상당히 다름을 알 수 있다.
누가 실시간 레이트레이싱에 관심을 가지는가?
에픽게임즈가 공개한 언리얼 엔진으로 만든 실시간 레이트레이싱 데모
엔비디아가 공개한 실시간 레이트레이싱 데모
EA에서 공개한 SEED 엔진을 이용한 실시간 레이트레이싱 데모
마이크로소프트는 다이렉트X 12 API에 DirectX Raytracing(DXR)을 탑재한다고 밝혔다. 마이크로소프트는 게임 엔진에 레이트레이싱을 넣음으로서 개발자들이 게임엔진으로 다양한 실험을 하는 것을 가능하게 했다.
다이렉트X에 레이트레이싱을 도입하는 것을 돕기 위해 게임 제작자와 게임 엔진 제작자들과 협력했다. 이 기술은 곧 EA의 프로스트바이트, SEED 엔진 그리고 에픽게임즈의 언리얼엔진 및 유니티와 호환이 될 것이다.
그러나 레이트레이싱을 실시간으로 해내기 위해서는 엄청난 GPU 성능이 필요하다. 말할것도 없이 엔비디아 역시 이 기술에 관심이 많았다. 엔비디아는 엄청난 연산성능을 가진 하드웨어를 계속 내놓을 것이고 자사 그래픽카드에서 이용가능한 RTX 라는 기술을 공개하기도 했다. RTX는 마이크로소프트의 DXR와 호환되도록 만들어져 레이트레이싱 연산을 다른 GPU보다 더욱 빠르게 처리할 수 있도록 도와준다.
엔비디아에 따르면, "film-quality algorithms(영화품질 알고리즘)"이 GameWorks API에 광원효과, 반사, 그림자 등 관련 효과들을 이전에 본적 없는 수준의 정밀도로 제공할 것이라고 한다. 엔비디아의 다음 아키텍쳐 볼타급 GPU에서 사용할 수 있을 것이다.
AMD 역시 뒤쳐지지 않을 것이다. 엔비디아에 비해서 많은 정보가 공개된 것은 아니지만 ProRender 렌더러와 라데온 GPU 프로파일러 1.2가 실시간 레이트레이싱이 가능하게 될 것이라고 밝혔다. ProRender 렌더러는 게임엔진이 아님을 미루어 짐작했을 때, 개발자들의 작업흐름의 개선에 집중한 것으로 보인다.
언제쯤 실시간 레이트레이싱 기반 작업물을 볼 수 있을까?
현재 마이크로소프트의 블로그에 따르면 다이렉트X의 레이트레이싱은 현재의 렌더링 기술을 보완한다고 한다. 레스터화에 레이트레이싱 기술을 적용함으로써 그래픽 품질을 더 높이겠다는 의미이다. 아직까지 GPU의 성능이 실시간 레이트레이싱을 할 정도는 아니기도 하다.
하지만 앞으로 계속해서 GPU 성능이 발전하고 더이상 레스터화 기술을 사용하지 않아도 될 때가 올 것이다. 결국은 레이트레이싱이 3D 렌더링의 표준 알고리즘으로 레스터화를 완전히 대체할 것이라고 마이크로소프트는 결론지었다.
엔비디아의 볼타 아키텍쳐가 적용된 그래픽카드가 출시되면 실시간 레이트레이싱이 일부 포함된 작업물들을 많이 보게 될 것으로 예상된다. 그러나 아직 구체적인 사항은 아무것도 없다. 오랫동안 기다려온 이 기술이 게임그래픽에 엄청난 발전을 가져올 것이라 믿는다.
댓글
댓글 쓰기