Nvidia가 2018년 20 시리즈 RTX 그래픽 카드를 발표한 이후로 킬러 기능인 "레이 트레이싱"은 비디오 게임 업계에서 인기 있는 용어였습니다. 하지만 레이 트레이싱이 무엇인지, 어떻게 작동하는지, 왜 이전 기술보다 더 좋아 보이는지 이해하기 어려울 수 있습니다.
레이 트레이싱이란 무엇이며 어떻게 작동합니까?
현실 세계에서 당신이 무언가를 볼 때 당신이 보고 있는 것은 광원의 광자입니다. 당신에게 가는 동안 그 광자는 하나 이상의 표면에 의해 반사되었을 수 있습니다. 각 반사는 눈에 도달하는 빛의 특성을 변경합니다.
태양은 다양한 색상의 빛을 방출하며 각 표면은 일부 빛을 흡수하고 다른 표면은 반사합니다. 우리가 나뭇잎과 같은 녹색 표면으로 보는 것은 대부분 녹색 빛을 반사하기 때문에 그렇게 보입니다. 잎사귀에서 반사된 빛이 흰 벽과 같은 다른 표면에 닿으면 그 표면은 순수한 흰색 빛이 비추는 경우와 약간 다르게 보일 것입니다. 각 반사는 빛이 상호 작용하는 모든 미래 표면에 영향을 미치며 강도와 가시적 색상을 변경합니다.
레이 트레이싱은 동일한 원칙을 따르는 그래픽 기술입니다. 광선이 투사되고 색상과 같은 반사 및 굴절된 빛의 속성이 계산되고 광선이 계속 이동합니다.
현실 세계에서 전구나 태양과 같은 모든 광원은 모든 방향으로 광자를 방출하며 대부분은 눈에 닿지 않습니다. 이것을 시뮬레이션하는 것은 대부분 낭비되는 결과를 생성하는 미친 듯이 집약적인 프로세스가 될 것입니다. 작업 부하를 줄이기 위해 광선 추적은 카메라에서 광선을 투사하면서 반대로 작동합니다. 각 광선은 계산이 수행되고 픽셀 값이 설정되기 전에 반사 없이 특정 거리를 이동하거나 특정 횟수만큼 반사하도록 허용됩니다.
예를 들어, 광선은 뷰어의 관점에서 투사되며, 흰색 벽에 부딪힐 때 알고리즘은 재귀적으로 다음을 생성합니다. 반사된 광선은 파란색 유리판을 통과하고 마지막으로 반사된 광선이 백색 광원에 부딪혀 흡수. 파란색 유리는 벽에 파란색 빛을 비추는 파란색 빛을 제외한 모든 빛을 흡수하므로 픽셀이 파란색으로 표시됩니다.
Ray Tracing이 훨씬 좋아 보이는 이유는 무엇입니까?
실시간으로 장면을 렌더링하는 표준 방법은 미리 계산된 라이트맵과 전체 장면 조명을 사용하는 것입니다. 일부 게임은 움직이는 광원을 포함하고 동적 그림자를 허용하기 위해 제한된 체적 조명을 사용합니다. 이 기술은 프로세서 집약적이지만 드물게 사용됩니다.
Ray Tracing은 게임 디자인 단계에서 몇 가지 추가 작업을 수행하면 사실적인 결과를 얻을 수 있습니다. 모든 표면에 반사율, 투명도 및 빛이 표면을 통해 굴절되는 방식과 같은 세부 정보가 포함되어 있으면 전체 결과가 더 자연스럽게 나타날 수 있습니다. 이 접근 방식은 분명히 게임 디자인 단계에서 더 많은 작업을 포함하지만 결과가 나타날 수 있습니다. 빛이 콘크리트, 금속, 나무 및 유리에 반사될 때 빛이 반응하는 방식으로 사실적입니다. 등.
광선 추적을 사용하면 렌더링 프로세스의 일부로 정확한 반사와 그림자를 투사할 수 있습니다. 전통적인 렌더링 방법에서 이러한 효과는 모두 선택 사항이며 상당한 성능 저하를 일으킬 수 있습니다.
레이 트레이싱 자체는 엄청난 성능 저하를 동반합니다. Nvidia의 RTX 그래픽 카드가 레이 트레이싱을 위한 하드웨어 가속과 함께 발표되기 전까지는 소프트웨어에서 실시간으로 레이 트레이싱을 수행하는 데 필요한 처리 능력은 10년 이상이었습니다. 떨어져있는. 하드웨어 가속을 사용하더라도 레이 트레이싱은 여전히 프레임 렌더링의 가장 느린 부분이기 때문에 성능이 크게 저하됩니다.