Ray Tracing - Draw Sphere
카테고리: Graphics
태그: DirectX
홍정모님의 그래픽스 새싹코스 강의를 듣고 정리한 내용입니다.
🐥 Ray Tracing
- Ray Tracing : Pixel마다 Ray를 쏘고, 추적하여 오브젝트들을 렌더하는 방식
- Ray의 방향은 Orthographic, Perspective 존재
- 여기서는 orthographic 방식
- Ray의 start point : Pixel 좌표
- Ray의 방향 : (0, 0, 1)
🐥 Sphere-Line Intersection
- 2차 방정식 근의 공식을 이용하여 d 구하기
- d를 알면 ray와 충돌한 구의 좌표를 구할 수 있음
- normal vector는 (center - 충돌 지점)
🐥 Results
Result1 | Result2 | Result3 |
---|---|---|
// result1
return sphere->color * hit.d
// result2
return glm::vec3(1.0f * hit.d, 0.0f, 1.0f * (0.5 - hit.d));
// result3
return (hit.d > 0.4f && hit.d < 0.6)? glm::vec3(0.0f, 1.0f, 0.0f) : glm::vec3(0.0f, 0.0f, 0.0f);
- result1 : 구와 충돌하면 흰색, d(깊이)를 곱해서 입체감 표현
- result2 : 카메라와 가까우면 파란색, 멀어질수록 빨간색
- result3 : d의 범위를 제한해서 절단면 표현
댓글 남기기