[컴퓨터그래픽스] Ray Tracing

Serun1017·2024년 10월 23일
0

컴퓨터그래픽스

목록 보기
5/31

우리는 물체를 관찰하기 위해 빛을 필요로 한다. 일반적으로 우리가 물체를 관찰하기 위해서는 빛이 물체에 반사되어 우리 눈에 도달해야 한다. 그러나 광원에서 방출된 빛이 물체에 도달해 반사되는 모든 과정을 컴퓨터에서 시뮬레이션 하기 위해서는 매우 많은 계산량과 메모리 공간을 필요로 하게 된다. 이를 해결하기 위한 방법이 Ray Tracing 이다.

General Ray-Objects.png

Ray Tracing

Ray Tracing은 광원에서 방출되어 물체에 반사된 빛 중 카메라에 도달한 빛 만을 계산하는 방법이다. 관찰자가 물체를 관찰하기 위해서는 광원에서 방출된 빛이 물체에 반사되어 관찰자에게 도달해야 하는데, 이때 관찰자는 관찰자에게 도달하는 빛 만을 필요로 한다. 이 점에 착안하여 Ray Tracing 은 관찰자에 도달하는 빛의 경로를 역으로 계산하는 방법을 사용한다.

Ray Tracing.png

Ray Tracing은 기본적으로 빛의 물리적 특성을 반영하여 모든 물체와 상호작용을 시뮬레이션 하기 때문에 물체의 Multiple Reflection(반사광) 과 Translucent Objects(투명한 물체)를 표현하기 쉽다. 때문에 사실적인 조명과 그림자, 반사, 굴절, 간접 조명, 투명도 등을 표현할 수 있다.

그러나 이를 위해 광원, 카메라 뿐만 아니라 모든 물체의 정보들을 메모리에 갖고 있고 이에 대해 광원의 상호작용을 계산하여야 하기 때문에 방대한 크기의 메모리 사용량을 필요로 한다. 또한 카메라의 각 픽셀에 도달하는 광선을 역추적 해야 하기 때문에 높은 계산 비용을 요구한다. 때문에 긴 렌더링 시간을 요구하여 실시간 렌더링이 거의 불가능 하다.

장점 및 단점

장점단점
사실적인 조명과 그림자방대한 메모리 사용
정확한 반사와 굴절높은 계산 비용
간접 조명 (Global Illumination)긴 렌더링 시간
정확한 투명도 및 반투명도

0개의 댓글