Skip to content

A hobby CUDA pathtracing renderer.

License

carbon-seven/KittlesPT

Repository files navigation

KittlesPT - A CUDA PathTracing renderer library


A casual hobby project towards creating an interactive path-tracing renderer running on GTX GPUs.

Features

  • PBR texture inputs for materials (GLTF 2.0 specifications parity)
  • Multiple Importance Sampling
  • Nishita Atmosphere model (Single-Scattering)
  • Bloom / Veil (Kawase)
  • Two Level Acceleration Structure (BVH2)
  • Runtime mesh transformations
  • Unified BSDF(Conductor & Opaque/Transparent Dielectrics)
  • Temporal Accumulation & Motion Vectors Generation
  • Physical camera controls (ISO, aperture,shutter speed etc)
  • Auto-exposure via Scene Histogram
  • AgX tonemapping

External Dependencies

  • CUDA 12.4+ SDK

Libraries used

  • GLAD - OpenGL loader
  • GLM - 3D maths library
  • Optional (SampleApp)
    • GLFW - OpenGL windowing library
    • Dear ImGUI - GUI library
    • stb - Image loading library
    • TinyGLTF - GLTF format load/parse library

Building

Cmake will be added in future. Currently the solution is Visual Studio only. The solution consists of two projects, the core KittlesPT static library project, and a SampleApp executable project demonstrating the use of KittlesPT renderer API.


About

A hobby CUDA pathtracing renderer.

Resources

License

Stars

Watchers

Forks