参考文献
本文档列出了项目中使用的算法和技术的学术参考。
渲染方程与路径追踪
[1] Kajiya, J. T. (1986). "The Rendering Equation". Computer Graphics (SIGGRAPH '86), 20(4), 143-150. DOI: 10.1145/15922.15902
[2] Veach, E., & Guibas, L. J. (1995). "Bidirectional Estimators for Light Transport". Photorealistic Rendering Techniques, 147-172.
[3] Pharr, M., Jakob, W., & Humphreys, G. (2016). Physically Based Rendering: From Theory to Implementation (3rd ed.). Morgan Kaufmann. ISBN: 978-0128006458
BVH 加速结构
[4] Wald, I. (2007). "On fast Construction of SAH-based Bounding Volume Hierarchies". IEEE Symposium on Interactive Ray Tracing, 33-41.
[5] Aila, T., & Karras, T. (2010). "Understanding the Efficiency of Ray Traversal on GPUs". High-Performance Graphics, 89-100.
[6] NVIDIA. (2023). "CUDA C++ Programming Guide". [在线] https://docs.nvidia.com/cuda/
光线排序与优化
[7] Hoberock, J., & Bell, N. (2010). "Thrust: A Parallel Algorithms Library". GPU Computing Gems, 353-366.
蒙特卡洛方法
[8] Pharr, M., & Humphreys, G. (2004). Physically Based Rendering. Elsevier. 第 7 章:Monte Carlo Integration.
经典教程与开源项目
[9] Shirley, P. (2020). Ray Tracing in One Weekend. [在线] https://raytracing.github.io/
[10] Beason, K. (2007). smallpt: Global Illumination in 99 lines of C++. [在线] http://www.kevinbeason.com/smallpt/
[11] NVIDIA. (2023). NVIDIA OptiX 7 API. [在线] https://developer.nvidia.com/optix
引用本项目
若您在学术工作中引用本项目,请使用以下 BibTeX 格式:
@misc{cuda-raytracer,
author = {AICL-Lab},
title = {CUDA Ray Tracer: High-Performance GPU Path Tracing},
year = {2024},
publisher = {GitHub},
url = {https://github.com/AICL-Lab/ray-tracer}
}推荐阅读
入门教程
- Ray Tracing in One Weekend - Peter Shirley 的经典入门教程
- smallpt - Kevin Beason 的 99 行全局光照实现
进阶资料
- Physically Based Rendering - 光线追踪圣经
- GPU Gems 系列 - NVIDIA 的 GPU 编程技巧
CUDA 编程
- CUDA C++ Programming Guide - NVIDIA 官方文档
- Programming Massively Parallel Processors - Kirk & Hwu