Skip to content
/ Radiance Public

Physically-Based Ray Tracer & Real-Time OpenGL Editor in Modern C++

License

Notifications You must be signed in to change notification settings

cdOut/Radiance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radiance License: GPL v3

Radiance

Radiance is a from-scratch physically-based ray tracing engine with an integrated real-time OpenGL scene editor, built in modern C++ (C++17).

Originally started as a deep dive into graphics programming to understand how modern 3D engines work under the hood, the project evolved into my engineering thesis. It focuses on rendering architecture, acceleration structures, multithreaded systems, and editor tooling.


Example Renders

Example Render 1 Example Render 2

Demo

demo.mp4

Features

Ray Tracing Engine

  • Physically-based materials (diffuse, metal)
  • Multithreaded CPU rendering
  • Recursive reflections, soft shadows, anti-aliasing
  • SDF primitives and triangle meshes (glTF)
  • Median-split BVH with AABB traversal

Real-Time Editor

  • OpenGL viewport with ImGui interface
  • Scene graph and entity system
  • Transform gizmos (translate / rotate / scale)
  • Mesh import and GPU object selection

Requirements

  • CMake ≥ 3.15
  • A C++17-compatible compiler (Clang, GCC, or MSVC)
  • OpenGL 3.3+ capable GPU

Build Instructions

Clone the repository and run the build script:

git clone https://github.com/cdOut/Radiance.git
cd Radiance
./build.sh

About

Physically-Based Ray Tracer & Real-Time OpenGL Editor in Modern C++

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors