2018의 게시물 표시

차원이 다른 게임 그래픽, 실시간 레이트레이싱

이미지
현재의 게임 그래픽은 매우 뛰어나다. 과거부터 계속해서 엄청난 발전을 거듭해왔고 그래픽카드나 게임 콘솔의 성능역시 엄청나게 향상되었다. 최근에도 계속해서 폴리곤의 갯수를 늘리지 않으면서 텍스쳐 품질/해상도, 광원 효과 등을 이용해 지속적인 게임그래픽의 발전을 이루어 왔다. 이제까지의 게임 그래픽도 무척이나 영화같았지만 실시간 레이트레이싱 기술이 공개됨으로서 앞으로 더욱 영화같은 게임 그래픽을 볼수 있게 될 것이다. 이것은 이전까지의 실시간 엔진들과는 차원이 다르다. 레이트레이싱이란? 레이트레이싱은 마치 현실과도 같은 광원 효과를 만들어 내는 렌더링 기술이다. 기본 알고리즘은 광선의 경로를 추적하여 3D 오브젝트와 충돌하여 상호작용하는 것을 계산하는 것이다. 레이트레이싱은 눈에 빛이 도달하기까지의 빛 경로를 완벽히 계산한다. 그래서 현재까지의 게임 광원 역시 매우 현실적으로 보이지만, 레이트레이싱과는 비교할 수가 없다. 게임보다 훨씬 뛰어난 그림자, 반사, 투과 그리고 산란 을 렌더링할 수 있게 한다. 연산 성능이 충분하다면, 실제와도 거의 구분이 불가능할 정도의 매우 현실적인 컴퓨터 그래픽을 출력한다. 지금의 게임용 컴퓨터 역시 엄청난 성능을 보여주지만 아직까지는 레이트레이싱을 실시간으로 해내기는 매우 버겁다. 실시간 게임 렌더링과 레이트레이싱 렌더링은 무엇이 다른가? 게임 엔진은 쉐이더를 통해 굴절 표현을 한다. 위 이미지는 유니티의 굴절 쉐이더 예시. 게임 그래픽은 레이트레이싱보다 훨씬 렌더링 속도가 빠른 레스터화 기술을 이용한다. 이것은 3D 그래픽을 2D 이미지로 변환해 출력해준다. 하지만 레스터화 기술은 자연스러운 그래픽을 묘사하기 위해 다양한 쉐이더를 필요로 한다. 실시간 게임 렌더링은 광선의 추적을 계산하지 않고 쉐이딩을 통해 우리의 눈에 자연스럽게 보일 수 있도록 하는 것이기 때문에 빛의 굴절, 반사, 그림자 그리고 산란을 정밀하게 표현하지 못한다. 게임에서 볼