본문 바로가기
IT magazine

레이 트레이싱 Ray Tracing | 패스 트레이싱 Path Tracing

by 테크 인사이더스 2024. 3. 12.

레이 트레이싱과 패스 트레이싱에 관한 정보를 정리한 글입니다. 자세한 내용은 아래의 포스팅을 참고해 주세요.

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing

목차
1. 레이 트레이싱(Ray Tracing)
2. 패스 트레이싱(Path Tracing)
레이 트레이싱과 패스 트레이싱의 차이점

 

레이 트레이싱(Ray Tracing)

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지
01
Ray Tracing on off(아이폰 15 프로)

레이 트레이싱은 컴퓨터 그래픽스에서 현실적이고 고품질의 이미지를 생성하는 고급 렌더링 기술입니다. 이를 이해하기 위해선 빛의 행동과 광학 원리에 대한 이해가 필요합니다.

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지

빛은 광선으로 표현되며, 레이 트레이싱은 이러한 광선이 장면 내의 객체와 상호작용하는 과정을 추적하여 이미지를 생성합니다. 빛이 물체에 닿을 때, 세 가지 주요 상호작용이 발생합니다.

 

첫째, 반사는 빛이 표면에서 튕겨져 나가는 현상을 의미합니다. 이는 대부분의 물체에서 나타나는 현상으로, 반사 각도는 입사 각도와 같습니다.

 

둘째, 굴절은 빛이 표면을 통과하여 방향이 변하는 현상을 의미합니다. 굴절은 물체의 투명한 부분에서 주로 발생하며, 굴절 지수에 따라 광선의 경로가 변화합니다.

 

마지막으로,흡수는 빛이 물체에 흡수되어 에너지로 변환되는 현상을 의미합니다. 흡수는 빛이 밝기를 잃거나 색상이 흐려지는데 영향을 줍니다.

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지
삼성 갤럭시 언팩 2023 데모 콘텐츠

레이 트레이싱에서는 이러한 상호작용을 모델링하여 장면의 각 픽셀에 대한 색상과 밝기를 결정합니다. 광선이 장면의 객체와 상호작용할 때마다 추가 광선이 생성되어 그 결과를 추적합니다.

 

이 과정은 재귀적으로 이루어지며, 광선이 물체와의 상호작용을 반복하여 빛의 경로를 추적합니다. 이를 통해 현실적인 조명과 그림자 효과를 생성할 수 있습니다.

 

더보기

재귀적(Recursion)이란 어떤 프로세스나 작업이 자기 자신을 호출하여 수행되는 것을 의미합니다. 이는 작업을 작은 단위로 나누어 해결하는 방식으로 동작합니다.

 

예를 들어, 재귀적으로 정의된 함수는 함수 내에서 자기 자신을 호출하여 작업을 수행합니다. 이때, 함수 호출은 작업을 더 작은 단위로 나누어 해결하는 데 도움이 됩니다.

 

재귀 호출은 기본 사례(base case)에 도달할 때까지 계속됩니다. 기본 사례는 재귀 호출을 멈추는 조건을 나타내며, 이를 통해 재귀가 무한히 반복되는 것을 방지합니다.

 

재귀는 컴퓨터 과학에서 많이 사용되며, 특히 알고리즘의 설계와 구현에서 효율적인 방법으로 활용됩니다. 예를 들어, 이진트리를 순회하는 과정이나 분할 정복 알고리즘 등에서 재귀적 접근이 사용됩니다.

 

또한, 수학적으로도 재귀적인 정의가 자주 등장합니다. 피보나치 수열이나 팩토리얼 함수 등은 재귀적으로 정의되어 있습니다.

 

피보나치수열에서는 이전 두 항의 값을 더하여 다음 항을 계산하고, 팩토리얼 함수에서는 n! 을 n * (n-1)!로 정의합니다.

 

재귀적인 접근은 문제를 더 간결하게 표현하고 해결하는 데 도움이 되지만, 주의를 기울여야 합니다. 잘못된 재귀 호출은 무한 루프에 빠질 수 있으며, 이는 프로그램의 비정상적인 종료를 유발할 수 있습니다.

 

따라서, 재귀적인 알고리즘을 작성할 때는 기본 사례를 명확히 정의하고 재귀 호출을 올바르게 제어하는 것이 중요합니다.

 

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지
01
삼성 엑시노스 2400 (모바일) Global Illumination

더보기

엑시노스 2400 Global Illumination 이미지 설명

 

레이 트레이싱의 주요 기능은 표면에서 반사되는 빛을 포함하여 직접광, 간접광, 자연광을 연산하는 렌더링 기술입니다. 다중 반사 간접광을 사용하면 게임 내 장면을 더욱 현실적으로 만들어 줍니다.

 

레이 트레이싱의 가장 큰 장점 중 하나는 전역 조명(글로벌 일루미네이션)을 모델링할 수 있다는 것입니다.

 

즉, 빛이 여러 번 반사되고 굴절되는 과정을 반복하여 복잡한 조명 효과를 구현할 수 있습니다. 이는 실제 세계의 조명 현상을 더욱 현실적으로 재현하는 데 도움이 됩니다.

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지
Ray Tracing on off(Qualcomm)

그러나 레이 트레이싱은 계산 복잡성이 높은 편입니다. 이를 극복하기 위해 최신 기술 중 하나는 딥러닝(Deep Learning)을 활용하는 것입니다.

 

딥러닝은 광선과 객체 간 충돌을 빠르게 탐지하고 광선 추적을 최적화하는 데 사용됩니다. 또한, 병렬 처리 및 하드웨어 가속 기술을 활용하여 계산 복잡성을 줄이는 노력이 이루어지고 있습니다.

 

이러한 연구와 기술의 발전을 통해 레이 트레이싱은 보다 현실적이고 고품질의 이미지를 더욱 효율적으로 생성할 수 있게 되었습니다.

 

이제는 고성능 하드웨어와 최신 알고리즘을 활용하여 레이 트레이싱을 통해 더욱 멋진 시각적 경험을 제공할 수 있습니다.

 

 

패스 트레이싱(Path Tracing)

패스 트레이싱(Path Tracing)은 현실적인 이미지를 생성하는 데 사용되는 렌더링 기술 중 하나입니다.

 

이 기술은 광선 추적(Ray Tracing)의 한 형태로, 광선이 씬(Scene) 내의 객체와 상호작용하는 과정을 시뮬레이션합니다.

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지

먼저, 패스 트레이싱은 각 픽셀에서 시작합니다. 각 픽셀에서 빛을 씬으로 발사하여 광선이 물체와 충돌하는지 확인합니다. 이 과정을 통해 광선이 물체에 부딪히고, 빛이 어떻게 반사되거나 흡수되는지를 파악할 수 있습니다.

 

광선이 물체와 충돌하면, 광선의 경로와 충돌 지점에서 추가적인 광선이 생성됩니다. 이 과정은 재귀적으로 이루어지며, 광선이 씬 내의 다른 물체와 다시 충돌할 때까지 반복됩니다.

 

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지
01
NVDIA GeForce RTX 40

충돌이 감지되면 광선의 반사와 굴절을 계산합니다. 이는 광선이 물체의 표면에서 반사되거나 굴절되는 과정을 의미합니다. 이러한 반사와 굴절을 통해 빛의 경로가 결정되고, 최종적으로 픽셀에 도달하는 빛의 색상이 결정됩니다.

 

광선의 색상은 해당 지점의 표면 속성과 광원의 색상을 기반으로 계산됩니다. 빛의 색상과 물체의 색상, 반사율 등을 고려하여 최종 색상이 결정되며, 이를 통해 완성된 이미지가 생성됩니다.

 

패스 트레이싱은 현실적인 이미지를 생성하는 데 뛰어난 성능을 발휘하지만, 높은 계산 비용이 필요합니다. 하지만 최근 하드웨어의 발전과 최적화된 알고리즘을 통해 실시간으로 패스 트레이싱을 적용하는 것이 가능해졌으며, 이를 통해 더욱 현실적인 가상 환경을 구현할 수 있게 되었습니다.

 

 

레이 트레이싱과 패스 트레이싱의 차이점

레이-트레이싱-Ray-Tracing-패스-트레이싱-Path-Tracing-설명-이미지
PATH TRACED, RAY TRACED, RASTERIZATION (NVIDIA)

레이 트레이싱과 패스 트레이싱은 모두 광선 추적(Ray Tracing)의 형태로, 현실적인 이미지를 생성하는 데 사용되는 렌더링 기술입니다. 그러나 두 기술 간에는 몇 가지 중요한 차이가 있습니다.

 

알고리즘 구조

 

레이 트레이싱: 레이 트레이싱은 광선을 씬 내의 물체로 직접 발사하고, 광선이 물체와 상호작용하는지를 확인합니다. 이 과정에서 광선은 반사, 굴절 및 그림자를 계산하여 최종 이미지를 생성합니다.

 

패스 트레이싱: 패스 트레이싱은 레이 트레이싱의 한 형태로, 광선이 물체와 충돌할 때마다 추가적인 광선을 생성하여 광선의 경로를 추적합니다. 이러한 과정은 재귀적으로 이루어지며, 광선이 씬 내의 다른 물체와 다시 충돌할 때까지 반복됩니다.

 

효율성과 정확도

 

레이 트레이싱: 레이 트레이싱은 단순하고 직접적인 접근 방식을 채택하여 계산 비용이 비교적 낮지만, 정확도는 높습니다. 그러나 광선이 반사되거나 굴절될 때의 복잡한 광선 경로를 고려하지 않습니다.

 

패스 트레이싱: 패스 트레이싱은 레이 트레이싱에 비해 계산 비용이 더 높지만, 보다 현실적인 이미지를 생성할 수 있습니다. 이는 패스 트레이싱이 광선이 반사되거나 굴절될 때 추가적인 광선을 생성하여 광선의 경로를 추적하기 때문입니다.

 

적용 분야

 

레이 트레이싱: 레이 트레이싱은 주로 영화 및 비디오 게임과 같은 시각 효과를 생성하는 데 사용됩니다. 또한 실시간 레이 트레이싱 기술의 발전으로 게임 엔진에서도 적용되고 있습니다.

 

패스 트레이싱: 패스 트레이싱은 주로 영화 및 애니메이션과 같은 시각 효과를 생성하는 데 사용됩니다. 그러나 최근에는 실시간 패스 트레이싱 기술의 발전으로 게임 엔진 및 가상현실(VR)과 같은 실시간 그래픽 애플리케이션에서도 적용되고 있습니다.

 

요약하면, 레이 트레이싱은 계산 비용이 비교적 낮고 빠르며, 패스 트레이싱은 보다 현실적인 이미지를 생성할 수 있지만 계산 비용이 더 높습니다. 이 두 기술은 각각의 장단점을 고려하여 다양한 분야에서 활용됩니다.


엑스클립스-940-이미지-프로세싱-바로가기