computer graphics
프레넬 방정식 적용해보기
Mysteryu
2021. 9. 30. 17:23
이전 포스팅에서 말한대로 Raytracing in Oneweekend 에서는 프레넬 방정식에 대해 다루지 않아서
직접 작성해보면 좋을 것 같아서 작성을 해 보았다.
초기 생각은 간단했다.
1. 유리공에 Ray가 hit 하면 Reflaction ray, Reflection ray 둘로 나뉘어 질 것이다.
2. Reflection ray를 계산하고(reculsive), color를 구한다.
3. Reflaction ray를 계산하고(reculsive), color를 구한다.
4. 프레넬 방정식 계수를 곱한 후 2, 3에서 구한 color에 곱해준다
생각은 참 간단했다. 그래서 그것에 대한 결과는??
그렇다.. 망해버렸다. 참고로 중간 까만공이 원래는 유리공이었어야했다.
코드를 수정해보고 디버깅도 해보고 다 해봤지만 이 결과가 계속 나오게 되었다.
이런 결과가 나오게 된 원인은..
1. Ray Tracing in One Weekend의 소스코드를 제대로 숙지 못한것 같다
2. 너무 급하게 짜려고 하다보니 전체적으로 먼저 생각을 하지 않고 그때그때마다 생각나는데로 코딩을 하였다.
3. c++의 이해도가 아직 많이 부족한것 같다
특히 1, 2번의 이유가 많이 큰 것 같다. 무언가 결과를 내고 싶은 마음이 너무 큰 나머지 너무 성급하게 진행하였다
원인의 결과를 파악했으니 다시 한번 진행해봐야겠다.
시간이 낭비된것같아서 마음이 아프다..