소식

Ray Tracing vs. Path Tracing vs. 래스터화 설명

래스터화는 비디오 게임에서 실시간 렌더링에 사용되는 주요 기술입니다. 조명에 레이트레이싱의 사용이 증가하고 있음에도 불구하고 래스터화는 여전히 장면의 대부분을 렌더링하는 데 사용됩니다. 래스터화는 더 빠르고 효율적이며 몇 가지 주의 사항과 함께 거의 사실적인 결과를 생성하는 경우가 많습니다. 두 가지 렌더링 기술의 강점과 약점을 살펴보겠습니다.

래스터화란 무엇입니까?

래스터화에는 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 컴퓨터 그래픽의 성배로 간주됩니다. 작동 방식을 이해하려면 레이 트레이싱으로 돌아가야 합니다.

  • 레이 트레이싱은 실제 빛을 모방하고 광선을 따라 렌더링 방정식을 풀기 위해 픽셀을 통해 광선을 투사하는 것을 포함합니다.
  • 그러나 광선은 무한히 복잡하게 작용하기 때문에 결과가 불완전합니다.

경로 추적은 무작위 샘플링을 사용하여 광선의 경로와 동작을 근사화하는 몬테카를로 방법을 사용합니다.

  • 레이 트레이싱과 달리 패스 트레이싱은 픽셀당 여러 광선 을 화면에 투사합니다.
  • 교차하면 표면 데이터가 수집되고 광선은 히트 포인트의 재료 속성에 따라 리디렉션됩니다.
  • 각 바운스는 최종 픽셀 색상에 기여하여 전역 조명, 빛 블리딩 및 멀티 바운스 확산 조명을 시뮬레이션합니다.
  • 레이트레이싱은 일반적으로 첫 번째 히트 후에 종료됩니다 .
지진 2

각 광선은 약간 다른 방향으로 보내집니다. 이를 확률적 샘플링이라고 합니다. 광선의 경로와 조명은 픽셀당 광선 수가 증가함에 따라 점점 더 정확해집니다.

  • 각 광선은 몬테카를로 무작위화를 사용하여 가능한 빛의 경로를 샘플링합니다.
  • 중요도 샘플링을 사용하면 광선이 잠재적인 광원에 편향됩니다.
  • 따라서 더 유용한 광선과 더 적은 빈 결과를 얻을 수 있습니다.

ReSTIR를 사용한 경로 추적

픽셀당 여러 광선을 투사하는 것은 비용이 많이 듭니다. 따라서 게임은 조명 샘플을 공간적, 시간적으로 재사용하여 품질과 성능을 개선합니다. ReSTIR 또는 Reservoir-based Spatio-Temporal Importance Reampling 이 그러한 솔루션 중 하나입니다.

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

Areej Syed

Processors, PC gaming, and the past. I have been writing about computer hardware for over seven years with more than 5000 published articles. Started off during engineering college and haven't stopped since. Find me at HardwareTimes and PC Opset.
Back to top button