OptixPathTracer
Dining Room
Dining Room
:warning: 경고
이 리포의 코드는 구 버전 OptiX (5.x)용으로 작성되었으며, 현재는 유지보수되지 않습니다. 최신 OptiX 7.x API를 사용하는 것을 권장합니다. 다음 리포들을 참고해 주세요:
https://github.com/NVIDIA/OptiX_Apps <br/>
https://github.com/owl-project/owl<br/>
https://github.com/shocker-0x15/OptiX_Utility
만약 특별히 Disney BSDF 구현을 찾고 있다면, PBRT-v3 또는 저의 다른 리포를 참고해 주세요.
물리 기반 경로 추적기(physically based path tracer)이며 Disney BRDF를 지원합니다.
이것은 Nvidia의 Optix Advanced Samples Introduction 튜토리얼에서 조각들을 모아 만든 것입니다. 기능 세트는 단순한 학습 연습용이기 때문에 매우 기초적입니다. 따라서 코드가 형편없이 작성되었거나 훨씬 더 좋은 방식으로 구현될 수 있는 부분이 있다면 공유해 주시면 감사하겠습니다 :)
기능(Features)
(거의 모든 것은 Nvidia의 Optix Advanced Samples Repository on Github에 있던 기존 코드였습니다 )
- 단방향 경로 추적(Unidirectional Path Tracing)
- Disney BRDF
- 간단한 유리 BTDF(Simple Glass BTDF)
- 구 및 직사각형 광원(Sphere and Rect lights)
- 다중 중요도 샘플링(Multiple Importance Sampling)
- 메시 로딩(Mesh Loading)
- 단순 장면 파일 (기본적으로 Miles Macklin의 훌륭한 Tinsel renderer 에서 가져왔으므로 모든 크레딧은 그에게 돌아갑니다.)
장면 파일과 함께 제공되는 수정된 .obj 파일을 위해, src/data/ 폴더에 있는 data.rar 파일을 같은 폴더에 압축 해제하세요.
다음은 경로 추적기로 렌더링한 몇 가지 장면입니다.
Bedroom
Bedroom
Spaceship (렌더 시간: GTX 750ti에서 약 6분)
Spaceship
Stormtrooper (렌더 시간: 약 4분)
Stormtrooper
Coffee Pot(https://benedikt-bitterli.me/resources) (렌더링 시간: 4분. 1k spp)
Coffee Pot
디즈니 하이페리온 장면 리메이크 (렌더링 시간: 상당히 김)
Hyperion Scene
Dragon closeup
Importance sampling 코드를 도와준 Simon Kallweit에게 감사드립니다. 그는 또한 자신의 구현에 대한 멋진 글도 가지고 있습니다.
모델은 Benedikt Bitterli의 렌더링 리소스에서 가져왔습니다.