Raytracing을 활용하여 간단한 Shading을 구현해보았다.
Raytracing에서는 물체에서 빛 방향으로 ray를 쏴 중간에 물체가 있으면 Shading한다.
이번에는 그림자가 지면 밝기를 0.3배 낮추는 방식의 간단한 셰이딩을 적용하였다.
이전 구현에서 아무 생각 없이 레이트레이싱 최대 가능한 재귀 호출 깊이를 1로 세팅했었는데, 셰이딩할 때 이부분에서 문제가 생겼다. 셰이딩을 하기 위해서는 재귀 호출을 한번 더 해야 하는데 이 때 최대 가능한 재귀 호출 깊이를 넘어버리는 것이다. 이 문제 때문에 gpu가 hang 되버려 엄청 고생하였다. 이런 알기 쉬운 문제는 Debug창에 떳으면 좋을텐데... 하루동안 고생한거에 비해 너무 간단한 실수라서 참 아쉽다.
다음 목표는 재질을 적용해 좀 더 사실적인 그래픽을 구현하는 것이다.
이제 레이트레이싱에 대해 조금 알게된 것 같다.