비디오 게임 역사의 대부분은 더 나은 그래픽과 더 빠른 처리를 위한 끊임없는 노력이었습니다.
실제와 같은 이미지를 렌더링하는 하드웨어 기능이 소비자 규모에 도달하지 못했기 때문에 초기 비디오 게임은 실제와 같은 현실감을 거의 달성하지 못했습니다.
하드웨어가 발전함에 따라 게임 개발자의 야망도 발전했습니다.
불가능하다고 생각되었던 홈게임이 이제 현실이 되었습니다.
이것을 불가능하게 만드는 기술은 오랫동안 영화 스튜디오에서 매우 귀중한 도구였습니다.
광선 추적라고 합니다.
컴퓨터나 콘솔에 광선 추적 기능이 탑재되어 있을 수 있습니다.
게임에 전례 없는 현실감을 더하는 이 마법의 기술은 무엇이며, 어떤 하이엔드 게이밍 폰에 이를 활용할 수 있을까?
레이 트레이싱 요약
레이 트레이싱의 개념은 간단합니다.
빛의 광자는 직선으로 이동하고 눈에 도달할 때까지 반사와 굴절을 거쳐 색상과 밝기를 볼 수 있습니다.
광선 추적은 가상 환경에서 빛의 실제 동작을 모방합니다.
광선 추적은 소비자 장치에서 실시간으로 달성할 수 있는 것보다 더 사실적인 조명을 생성합니다.
간단하게 설명하면 레이 트레이싱(Ray Tracing)이다.
그러나 확실히 알아보기 위해서는 좀 더 자세히 살펴볼 필요가 있습니다.
컴퓨터 그래픽 소개
초기 그래픽은 벡터라고 불리는 선으로 만들어졌으며, Asteroids, Star Wars, The Tempest 등 80년대 초반 인기 아케이드 게임에 사용되었습니다.
이 게임은 특수 음극선관 스크린에 그려진 2차원 모양으로 만들어졌습니다.
차세대 컴퓨터 게임은 벡터 그래픽을 직접 생성하지 않는 텔레비전에서 사용되는 것과 동일한 유형의 화면을 사용했습니다.
벡터 디스플레이는 전자빔을 사용하여 두 좌표 사이에 선을 그립니다.
텔레비전 디스플레이는 래스터 스캐닝을 사용하여 화면 상단에서 하단까지 수평으로 전자 빔을 스윕합니다.
“래스터”는 전자 빔이 화면을 가로질러 “갈퀴질”하는 방식 때문에 “갈퀴”를 의미하는 라틴어 lastrum에서 유래되었습니다.
래스터 화면에 벡터 이미지를 표시하는 것이 가능하지만 직사각형 배열(픽셀이라고 함)을 사용하는 것이 더 쉽습니다.
초기 래스터/픽셀 기반 게임은 스프라이트라고 불리는 픽셀 개체(예: Shovel Knight 및 Vampire Survivor)로 구성된 단순한 2차원 세계에서 이루어졌습니다.
게임 디자이너가 3차원을 탐색하기 시작하면 그래픽 렌더링에 계산 비용이 더 많이 듭니다.
스프라이트 기반 게임은 그래픽 정보를 색상 값 배열로 저장합니다.
3D 게임은 80년대 초반에 사용된 것과 동일한 벡터(현재는 2차원이 아닌 3차원)를 사용하여 가상 객체와 환경을 구축하고 알고리즘을 사용하여 카메라 위치에 따라 어떻게 나타나는지 결정합니다.
대부분의 컴퓨터 및 TV 디스플레이는 픽셀 그래픽을 기반으로 하기 때문에 게임 디자이너는 3차원 벡터 데이터를 가져와 화면에 표시할 수 있는 래스터 데이터로 변환하는 방법이 필요했습니다.
이 프로세스를 래스터화라고 합니다.
3D 장면을 래스터화하는 일반적인 방법은 카메라에 표시되는 삼각형을 식별하는 것입니다.
위치 외에도 각 삼각형에는 화면에 나타나는 방식과 빛과 상호 작용하는 방식을 결정하는 색상과 질감에 대한 정보가 있습니다.
실제로는 이보다 더 많은 일이 벌어지고 있지만 대부분의 게임은 출력을 이런 방식으로 렌더링합니다.
삼각형 래스터화는 객체를 두 번 렌더링하거나 장면을 여러 번 렌더링하는 등의 해킹을 사용하지 않고는 그림자와 반사를 렌더링할 수 없습니다(이는 귀중한 컴퓨팅 성능을 소비합니다). 동적 환경에서 그림자와 반사를 정확하게 모델링하려면 빛의 동작과 빛이 세상과 상호 작용하는 방식을 모방하는 기술이 필요합니다.
레이 트레이싱의 이점은 무엇입니까?
광선 추적은 빛이 3D 장면에서 조명 및 색상 데이터를 생성하는 데 걸리는 경로를 모델링합니다.
개념은 간단하지만 구현은 복잡하고 시간이 많이 걸렸습니다(레이 트레이싱에 관한 최초의 학술 논문은 1968년에 출판되었습니다). 문제는 단순한 전구가 초당 수십억 또는 심지어 수조 개의 광자를 생성하는 것이 아니라 2000경 이상의 광자를 생성한다는 것입니다.
이러한 광자를 모델링하면 가장 정확한 이미지가 생성되지만 실시간으로 그 수를 계산하는 것은 불가능합니다.
광선 추적은 카메라에서 역방향으로 광선을 추적하여 표시할 각 픽셀을 통과한 다음 광원까지 추적합니다.
이는 대화형 경험이 가능한 수준으로 계산 수를 제한합니다.
실시간 소비자 레이 트레이싱은 여전히 계산 비용이 많이 들고 사용이 제한됩니다.
광선 추적의 가장 널리 사용되는 용도는 전체 장면을 렌더링하지 않는 것입니다(현재 비디오 게임에서는 그렇게 하지 않습니다). 광선 추적은 기존 렌더링 기술과 함께 사용되어 사실적인 조명, 그림자 및 반사를 만듭니다.
기본 광선 추적은 광선을 따라 물체로 이동한 다음 광원을 따릅니다.
광원으로의 경로가 차단되면 물체가 그림자에 놓이게 됩니다.
그렇지 않으면 거리와 각도에 따라 조명이 결정됩니다.
광선이 반사하거나 굴절하는 객체에 닿으면 반사 표면에 렌더링된 다른 객체를 만날 때까지 광선이 반사되거나 구부러집니다.
경로 추적으로 알려진 확장된 버전의 광선 추적은 장면에서 자연스러운 조명을 만드는 데 사용됩니다.
광선 추적은 하나 또는 두 개의 바운스로 제한되는 경향이 있지만 경로 추적은 여러 바운스를 통해 광선을 따라가며 그 과정에서 조명 데이터를 수집합니다.
이를 통해 게임 플레이에서 흔히 간과되는 간접조명, 확산조명, 전역조명 등을 구현할 수 있어 게임의 몰입도를 높이는 현실감을 더해준다.
레이 트레이싱의 다음 단계는 무엇입니까?
레이 트레이싱은 비디오 게임에서 상대적으로 새로운 기술이기 때문에(20년 넘게 영화에 사용됨) 성장의 여지가 있습니다.
이제 암호화폐 열풍이 지나간 지금, 레이 트레이싱이 가능한 그래픽 카드는 약 200달러부터 구입할 수 있습니다(보통 GTX 4 시리즈 이상). 더 많은 사람들이 이 기술에 접근할 수 있게 되면 레이 트레이싱을 사용하는 게임이 더 많이 만들어질 것입니다.
개발자가 Ray Tracing에 더 많은 시간을 투자할수록 이를 최적화하는 방법을 더 많이 찾을 수 있습니다.
최근 최적화 중 하나는 Nvidia 기반 하드웨어에서 실행되는 게임의 프레임 속도를 두 배 이상 높일 수 있는 잠재력을 가지고 있습니다.
이를 딥러닝 슈퍼 샘플링이라고 합니다.
딥 러닝 슈퍼 샘플링은 NVIDIA의 AI 전문 지식을 활용하고 이를 레이 트레이싱 전문 지식과 결합합니다.
또한 DLSS는 다음과 같은 여러 기능을 수행합니다.
- AI를 사용하여 저해상도 프레임의 렌더링을 향상합니다.
- 두 프레임 렌더링을 살펴보고 AI를 사용하여 그 사이에 새 프레임을 생성합니다.
- AI를 사용하여 광선 추적 데이터를 강화하여 더 자세한 조명과 반사를 추가하세요.
게임에서 실시간 레이 트레이싱을 경험하려면 NVIDIA의 GeForce RTX 그래픽 카드 제품군 또는 AMD Radeon RX 6000 이상과 같은 고급 GPU가 필요합니다.
가성비 좋은 제품을 찾고 있다면 인텔의 아크 카드를 사용해 보세요. Nvidia의 RTX 카드 제품군은 PC 게이머들 사이에서 가장 인기가 있지만 AMD는 PlayStation 5 및 Xbox Series X에서 레이 트레이싱 작업을 지원합니다.
NVIDIA 및 AMD 기반 게임용 노트북도 찾을 수 있습니다.
이동 중에도 게임을 즐기고 레이 트레이싱을 지원하는 휴대폰을 원한다면 옵션이 제한되어 있지만 사용할 수 있는 휴대폰이 있습니다.
Android를 사용하는 경우 Samsung의 Galaxy S23 시리즈 휴대폰에서 광선 추적을 찾을 수 있습니다.
Apple 제품을 사용하는 경우 iPhone 15 시리즈에서 Ray Tracing을 사용할 수 있습니다.
레이 트레이싱을 사용해 보세요!
레이 트레이싱은 널리 알려지지 않은 기술이지만 오래 가지 않을 것입니다.
레이 트레이싱 지원 장치가 너무 비싸다면 NVIDIA의 GeForce Now 또는 Microsoft의 Xbox 클라우드 게임 서비스를 통해 레이 트레이싱을 시도해 보세요.