
래스터화는 비디오 게임에서 실시간 렌더링에 사용되는 주요 기술입니다. 조명에 레이트레이싱의 사용이 증가하고 있음에도 불구하고 래스터화는 여전히 장면의 대부분을 렌더링하는 데 사용됩니다. 래스터화는 더 빠르고 효율적이며 몇 가지 주의 사항과 함께 거의 사실적인 결과를 생성하는 경우가 많습니다. 두 가지 렌더링 기술의 강점과 약점을 살펴보겠습니다.
래스터화란 무엇입니까?
래스터화에는 3D 장면을 2D 이미지로 변환하고, 뷰포트 관점에서 볼 수 있는 개체를 렌더링하고, 나머지는 버리는 작업이 포함됩니다. 3D 공간의 물체는 삼각형으로 만들어지며, 삼각형은 점(픽셀)으로 변환되어 전자의 질감, 조명 및 기타 재료 데이터에 따라 색상이 지정됩니다.

단계별 래스터화
- 3D 장면 및 삼각형
- 3D 장면은 삼각형(폴리곤이라고 함)으로 구성된 개체로 구성됩니다.
- 각 삼각형에는 장면에서 정확한 위치를 전달하는 3D 좌표(x, y, z)가 있습니다.
- 3D에서 2D로
- 3D 좌표는 화면을 POV 캔버스로 사용하여 2D 점으로 변환됩니다.
- 이 점은 화면에서 각 삼각형의 위치를 나타냅니다.
- 화면에 가장 가까운 삼각형은 그려지고 숨겨진 삼각형은 컬링됩니다.

- 트라이앵글에서 픽셀로
- 삼각형은 이 시점에서 프래그먼트(fragments)라고 하는 픽셀 위에 겹쳐집니다.
- 삼각형을 덮고 있는 조각(보통 50% 이상)은 그에 따라 색상이 지정됩니다.
- 프래그먼트 셰이딩
- 각 픽셀의 최종 색상은 조각에 적용된 재료, 조명, 질감 및 특수 효과를 사용하여 계산됩니다.
레이 트레이싱이란 무엇입니까?
래스터화는 3D 장면을 2D로 렌더링하기 위해 일련의 영리한 방법을 사용하는 반면, 레이 트레이싱은 빛과 그 자연스러운 속성을 모방하려고 합니다. 레이 트레이싱은 각 화면 픽셀을 통해 광선을 투사 하고 교차된 표면을 샘플링 하는 것을 포함합니다. 히트 포인트는 픽셀의 색상을 결정하는 데 도움이 됩니다.

장면 조명을 계산하기 위해 최신 레이트레이싱 기술이 사용됩니다. 이 하이브리드 광선 추적 파이프라인은 두 가지 주요 단계로 구성됩니다.
BVH 테스트: 광선은 어디에서 종료되었습니까?
Bounding Volume Hierarchy (바운딩 볼륨 계층구조)는 장면에서 광선의 정확한 교차점을 결정하는 데 도움이 됩니다. 지오메트리를 bounding volumes라는 박스로 감쌉니다. 상자는 계층 구조 또는 트리로 구성되며, 더 큰 상자는 연속적으로 더 작은 상자를 포장합니다.

- 연속적으로 작은 상자를 포함하는 큰 상자를 TLAS( Top Level Acceleration Structures)라고 합니다.
- 삼각형 또는 다각형을 포함하는 가장 낮은 수준의 상자를 BLAS( Bottom Level Acceleration Structures)라고 합니다.
- 광선이 장면에 들어오면 더 큰 상자에 대해 테스트됩니다.
- 적중하면 내부의 더 작은 상자가 테스트됩니다.
- 각 히트는 BLAS의 삼각형 이 교차할 때까지 프로세스를 확장합니다.
- 광선이 다각형에 부딪히지 않으면 픽셀은 (일반적으로) 검은색으로 렌더링됩니다.
- 히트 포인트는 광선이 발생한 픽셀의 색상을 결정합니다.
히트 포인트 셰이딩
히트 포인트가 결정되면 픽셀 색상을 계산해야 합니다. 표면 속성(매끄러움/거칠기), 질감, 반사 지수, 투명도 및 조명에 따라 다릅니다.

- 그림자 와 확산 조명은 히트 포인트에서 주변 광원을 향해 두 번째 광선을 쏘아 계산됩니다.
- 광선이 표면에 의해 차단되면 점이 그림자가 드리워집니다. 그렇지 않으면 불이 켜집니다.
- 반사 광선 은 광택 표면에서 투사됩니다. 그들은 광원에 도달할 때까지 표면 사이를 튕겨 원래의 히트 포인트에서 반사합니다.
경로 추적이란 무엇입니까?
패스 트레이싱은 3D 컴퓨터 그래픽의 성배로 간주됩니다. 작동 방식을 이해하려면 레이 트레이싱으로 돌아가야 합니다.
- 레이 트레이싱은 실제 빛을 모방하고 광선을 따라 렌더링 방정식을 풀기 위해 픽셀을 통해 광선을 투사하는 것을 포함합니다.
- 그러나 광선은 무한히 복잡하게 작용하기 때문에 결과가 불완전합니다.

경로 추적은 무작위 샘플링을 사용하여 광선의 경로와 동작을 근사화하는 몬테카를로 방법을 사용합니다.
- 레이 트레이싱과 달리 패스 트레이싱은 픽셀당 여러 광선 을 화면에 투사합니다.
- 교차하면 표면 데이터가 수집되고 광선은 히트 포인트의 재료 속성에 따라 리디렉션됩니다.
- 각 바운스는 최종 픽셀 색상에 기여하여 전역 조명, 빛 블리딩 및 멀티 바운스 확산 조명을 시뮬레이션합니다.
- 레이트레이싱은 일반적으로 첫 번째 히트 후에 종료됩니다 .

각 광선은 약간 다른 방향으로 보내집니다. 이를 확률적 샘플링이라고 합니다. 광선의 경로와 조명은 픽셀당 광선 수가 증가함에 따라 점점 더 정확해집니다.
- 각 광선은 몬테카를로 무작위화를 사용하여 가능한 빛의 경로를 샘플링합니다.
- 중요도 샘플링을 사용하면 광선이 잠재적인 광원에 편향됩니다.
- 따라서 더 유용한 광선과 더 적은 빈 결과를 얻을 수 있습니다.
ReSTIR를 사용한 경로 추적
픽셀당 여러 광선을 투사하는 것은 비용이 많이 듭니다. 따라서 게임은 조명 샘플을 공간적, 시간적으로 재사용하여 품질과 성능을 개선합니다. ReSTIR 또는 Reservoir-based Spatio-Temporal Importance Reampling 이 그러한 솔루션 중 하나입니다.

- 잠재적으로 기여할 수 있는 광원을 따라 각 픽셀을 통해 한두 개의 광선을 추적합니다.
- 결과와 그 관련성을 저장소(데이터 구조)에 저장합니다.
- 다음 프레임에 대해 이 과정을 반복하고 저장소 크기를 늘립니다.
- 고품질 샘플에 대해 인접 픽셀을 확인합니다.
- 공간 및 시간 저장소에서 최상의 샘플을 선택하여 픽셀을 음영 처리합니다.