-
RayTracing의 기본적인 개념과 단계쓰리디 2023. 7. 18. 23:00반응형
RayTracing이란, Ray, 광선을 추적하는 알고리즘을 뜻합니다.
그렇다면 CG에서의 RayTracing이란 어떤 것을 의미할까요?RayTracing이란?
Ray tracing은 CG에서 사용되는 현실적인 Light과 Shadow 등의 Look을 생성하기 위한 기술입니다.
Scene의 Object와 빛이 상호 작용할 때 각 Ray의 경로를 따라 Material 등등의 Scene과 상호 작용하는 방식을 계산하는 기술입니다.RayTracing의 원리
첫번째, Ray의 역추적
CG에서 RayTracing를 이해하기 위하여 기본적인 Ray의 작동방식 이해가 필요합니다.
Ray를 따라 물체와 상호 작용하는 방식을 역추적하여, 시각적으로 현실적인 이미지를 만들어냅니다.
가상 환경 내에서 빛의 복잡한 동작을 시뮬레이션하기 위해 Ray의 속성을 최대한 활용합니다.
RayTracing의 핵심 원리는 Ray의 역추적입니다.
두 번째, 역추적된 Ray들끼리의 상호작용
가상 카메라에서 픽셀을 거쳐 장면으로 들어가는 각 광선의 경로를 역추적하고,
RayTracing은 Light가 Object, Material 및 Scene과 상호 작용하는 방식을 계산하여 높은 퀄리티의 이미지를 생성합니다.
카메라에서 빛이 발사되어 3D 공간을 향해 직진하면서 물체와 충돌하면, 그 충돌 지점에서 다시 광선을 발사하여 다른 물체에서 충돌하면 이 과정을 반복하는 것입니다.
RayTracing의 마지막 핵심은 Ray가 카메라 위치에서 화면의 각 픽셀을 통해 이동하고 장면의 Object와 상호 작용할 때 Ray의 동작을 시뮬레이션하는 것입니다.이러한 RayTracing는 Ray의 동작을 역추적하여 Object와의 상호작용을 계산하고, Reflection(반사), Refraction(굴절), Shadow 및 GI을 포함하여 사실적인 Light 및 Shader를 생성할 수 있습니다.
RayTracing의 단계
그렇다면 RayTracing은 어떤 추적의 단계인지를 세부적으로 알아볼게요.
Ray의 발사
화면의 각 Pixel에서 Ray를 발사합니다. 이 광선은 카메라 위치에서 시작되며, 해당 픽셀에 해당하는 위치로 향합니다.
Ray와 Object의 교차 확인
발사된 Ray가 장면 내의 object와 교차하는지 확인합니다. 이를 위해 광선과 물체의 교차점을 찾는 알고리즘을 사용합니다.
Lighting 계산
Object와의 교차점을 찾았다면, 해당 지점에서의 Lightg계산을 수행합니다. 이 과정에서 Object의 Material과 Ray의 위치, Light의 반사, 굴절 등을 고려하여 Ray의 색상을 결정합니다.
Shadow 계산
Ray가 교차한 지점이 다른 물체에 가려져 그림자가 생기는지 여부를 계산합니다. 이를 통해 그림자 효과를 시뮬레이션합니다.
반사와 굴절 계산
광선이 물체에서 반사되거나 굴절되는 경우, 추가적인 Ray를 Render Settings에서의 Ray의 생성개수에 맞게 생성하여 이러한 반사 및 굴절 효과를 계산합니다. 이러한 계산은 재귀적으로 수행하고, Ray가 반사되거나 굴절될 때마다 이전 윗 단계의 과정을 또 다시 이행합니다.
화면 색상 출력
Ray가 더 이상 교차하지 않거나 최대 반사 횟수에 도달하면, 최종적으로 화면에 색상을 출력합니다. 이를 통해 현실적인 Lighting과 Shadow가 있는 Render를 뽑아냅니다.
RayTracing은 많은 시간을 요구하기에 과거에는 실시간 렌더링에는 적합하지 않았지만, 최근의 그래픽 카드 및 컴퓨터의 기술 발전으로 실시간으로 렌더링할 수 있는 수준까지 발전하였습니다. 이를 통해 RayTracin은 현재 게임, 영화, 광고 등 다양한 분야에서 활용되고 있습니다.
이런 RayTracing(RT)을 거쳐 Obect, Light들이 상호작용하여 AO, Light 등등의 Pass들, 즉 RTX를 생성할 수 있겠습니다.
(추후 RTX도 포스팅 예정입니다.)
마무리
RayTracing(레이트레이싱)은 CG에서 실제와 같은 조명 및 그림자 효과를 생성할 수 있는 혁신적인 알고리즘입니다.
Ray의 오브젝트 교차, 조명 계산, 그림자 시뮬레이션 등등의 상호작용과 역추적 계산을 통해 실제와 매우 유사한 높은 렌더결과를 낼 수 있습니다.
현재 기술의 발전으로 RayTracing으로 실시간 렌더가 현실화되어 게임, 시뮬레이션 등 다양한 영역에서 사실적인 시각 효과 구현이 가능해졌습니다.
남만 알고 있는 쓰리디에 대한 정보를
속이 쓰리지 않게,
소기쓰리디반응형'쓰리디' 카테고리의 다른 글
Gi란? 직간접광과 함께 알아보자 (0) 2023.07.21 Vray란? 활용시 이점은? (0) 2023.07.20 CG에서의 렌더링이 뭘까? 그 과정은 어떻게 되는 걸까? (0) 2023.07.17 Ray란? (Feat.가상세계 모방의 근원) (0) 2023.07.16 Maya, Tracking Tool 단축키 설정 (0) 2023.07.15