개요
Ray Tracing in One Weekend에서는 단순한 브루트포스 방식의 패스 트레이서를 만들었습니다. 이번 단계에서는 텍스처, 볼륨(안개 같은 것), 사각형, 인스턴싱, 조명, 그리고 BVH를 이용해 많은 오브젝트를 효율적으로 다루는 방법을 추가합니다. 여기까지 끝내면 “제대로 된” 레이 트레이서를 갖추게 됩니다.
레이 트레이싱에는 많은 사람들(저를 포함해서)이 믿는 경험 법칙이 하나 있습니다. 대부분의 최적화는 코드만 복잡하게 만들고, 속도 향상은 생각만큼 크지 않다는 것입니다. 그래서 이 미니 북에서는 매번 설계 결정을 할 때 가능한 한 가장 단순한 접근을 택하겠습니다. 추가 자료는 Further Reading 위키 페이지를 참고하세요. 다만, 성급한 최적화는 하지 않기를 강력히 권합니다. 실행 시간 프로파일에서 상위에 나타나지 않는다면, 모든 기능을 다 지원하기 전까지는 최적화할 필요가 없습니다.
이 책에서 가장 어려운 부분은 BVH와 퍼린(Perlin) 텍스처입니다. 제목이 ‘주말’이 아니라 ‘일주일’을 권하는 이유가 바로 이것입니다. 하지만 주말 프로젝트로 진행하고 싶다면, 이 둘은 마지막으로 미뤄도 괜찮습니다. 이 책에서 다루는 개념들은 제시 순서가 크게 중요하지 않고, BVH와 퍼린 텍스처 없이도 코넬 박스(Cornell Box)는 만들 수 있습니다.
그리고 위 단계는 원래 서적과 다르게 CUDA 환경 위에서 모든 것이 구현 됩니다.



