응애맘마조
레이 캐스팅, 레이 트레이싱, 레이 인터섹트 본문
주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다.
레이 캐스팅은 가상의 공간에 보이지 않는 빛을 투사해 빛에 닿는 표면을 파악하는 기술입니다. 주로 FPS 게임에 많이 사용됩니다. 렌더링 방법으로는 X축으로 모든 픽셀마다 카메라로 바라보는 방향으로 광선을 투사해서 벽에 부딪히게 되면 거리 값을 얻습니다. 이 방법으로 모든 가로 사이즈만큼 반복하면 2D 공간임에도 3D 같은 효과와 원근감을 줄 수 있습니다. 이 방법은 수직선에 대해서만 계산을 하기 때문에 렌더링 속도가 빠르고 정수만으로도 계산이 가능하기 때문에 실수 계산 같은 복잡한 계산을 하지 않아도 됩니다.
위의 방식이 대표적인 레이 캐스팅 사용 예시입니다.
레이 트레이싱은 이미지의 픽셀 하나하나를 통과하는 광선들이 있다고 가정하고 그 광선을 역추적하는 방식입니다. 즉, 계속적으로 반사하는 빛을 최대한 현실처럼 똑같이 나타내고자 하는 그래픽 작업이라고 보면 됩니다. 물론 현실감을 주기 위해 사용하지만 위의 방법과는 달리 요구되는 연산량이 굉장히 많습니다. 이 방법은 간단한 작업 말고는 거의 쓰이지 않았고 2018년부터 일부 게임에서 사용하기 시작했으며 언리얼 엔진에서도 구현했습니다.
위의 사진이 레이 트레이싱 방법으로 구현한 방식입니다.
레이 인터섹트는 내용과 결과가 애매해서 나중에 따로 작성하겠습니다.
읽어주셔서 감사합니다.
'공부 > 3D과제' 카테고리의 다른 글
박스와 맵 출력하기 (0) | 2023.06.11 |
---|---|
Ambient, Diffuse, Specular (0) | 2023.06.07 |
캐릭터 만들기 (0) | 2023.05.31 |
함수 포인터 (0) | 2023.05.25 |
가위바위보 (0) | 2023.05.21 |
Comments