Skip to content

References

Academic references for algorithms and techniques used in this project.

Rendering Equation & Path Tracing

[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 Acceleration Structure

[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". [Online] https://docs.nvidia.com/cuda/

Ray Sorting & Optimization

[7] Hoberock, J., & Bell, N. (2010). "Thrust: A Parallel Algorithms Library". GPU Computing Gems, 353-366.

Monte Carlo Methods

[8] Pharr, M., & Humphreys, G. (2004). Physically Based Rendering. Elsevier. Chapter 7: Monte Carlo Integration.

Classic Tutorials & Open Source Projects

[9] Shirley, P. (2020). Ray Tracing in One Weekend. [Online] https://raytracing.github.io/

[10] Beason, K. (2007). smallpt: Global Illumination in 99 lines of C++. [Online] http://www.kevinbeason.com/smallpt/

[11] NVIDIA. (2023). NVIDIA OptiX 7 API. [Online] https://developer.nvidia.com/optix


Citing This Project

If you use this project in academic work, please cite:

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}
}

Beginner Tutorials

  • Ray Tracing in One Weekend - Peter Shirley's classic introduction
  • smallpt - Kevin Beason's 99-line global illumination

Advanced Resources

  • Physically Based Rendering - The ray tracing bible
  • GPU Gems series - NVIDIA's GPU programming techniques

CUDA Programming

  • CUDA C++ Programming Guide - Official NVIDIA documentation
  • Programming Massively Parallel Processors - Kirk & Hwu

Technical Whitepaper · Built with VitePress