레이트레이싱은 1980년 'Turner Whitted'가 'An improved illumination model for shaded display' 논문에서 발표한 기법으로 이미지의 픽셀 하나하나를 통과하는 광선들이 있다 가정하고 그 광선(Ray)을 역추적(Trace)하는 방식이다.
쉽게 말해, 계속적으로 반사하는 빛을 최대한 현실처럼 똑같이 흉내내고자 하는 그래픽 작업(랜더링)이다.
레이트레이싱 기술은 장면과 대상이 되는 객체의 조명 환경을 매우 사실적으로 시뮬레이션하는 연산 집약적 렌더링 기술이다. RTX 그래픽카드는 튜링 GPU 기반 레이트레이싱을 통해 물리적으로 정확한 반사(reflections), 굴절(refractions), 그림자 및 간접 조명을 실시간으로 렌더링 할 수 있다.
현재의 엔비디아(Nvidia) 볼타(Volta) GPU는 사실적인 영화 품질에 해당하는 레이트레이싱 장면을 렌더링하는 것은 가능하지만, 단일 GPU에서 실시간 렌더링은 무리다. 이러한 연산 집약적 특성으로 인해 게임에서 레이트레이싱은 사용되지 못했다. 어쩔 수 없이 완전히 사실적인 렌더링은 포기하거나 타협할 수밖에 없었고, GPU 가송 래스터화 렌더링 기능(GPU-accelerated rasterization rendering)에 의존해왔다. 하지만 엔비디아는 튜링 TU102, TU104 및 TU106 GPU에 포함된 RT 코어로 하드웨어 기반 레이트레이싱 가속 엔진과 Nvidia RTX 소프트웨어 기술을 통합하여 실시간 레이트레이싱을 구현하는 데 성공하였다.
레이트레이싱 알고리즘
레이트레이싱은 레디오 시티(radio-city) 알고리즘과 더불어 대표적인 전역 조명 기법이다. 1차 광선이 장면의 어떤 물체와도 부딪히지 않은 경우에는 장면의 배경색을 픽셀의 색상으로 결정한다. 만약 1차 광선이 물체에 부딪힌다면 해단 점이 그림자 영역 안에 있는가를 검사해야 한다. 이것을 위해 그림자 광선(shadow ray)라는 이름의 2차 광선을 각 광원에 대해 발사한다.
'그래픽스 > 공통' 카테고리의 다른 글
사원수 (Quaternion : 쿼터니언) (0) | 2022.07.25 |
---|---|
짐벌락 & 오일러 각 (Gimbal Lock & Euler Angle) (0) | 2022.07.25 |
절두체 컬링 (Frustum Culling)과 클리핑 (Clipping) (0) | 2022.07.03 |
렌더링 파이프라인 순서 및 기본 설명과 기본 지식 (Rendering Pipeline) (0) | 2022.06.20 |
Low-Level Layer (HAL, HEL) (0) | 2022.06.20 |