• Stars
    star
    259
  • Rank 157,669 (Top 4 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Realtime GPU Path tracer based on OpenCL and OpenGL

Realtime GPU Path Tracing engine based on OpenCL and OpenGL

Watch on YouTube Bistro scene

Features

  • Unidirectional wavefront path tracer done entirely on GPU using compute shaders
  • OpenCL backend
  • OpenGL backend (WIP)
  • Hybrid path tracing (rasterization of the primary visibility) in OpenGL mode
  • Lambert diffuse, GGX reflection BRDF
  • Explicit point, directional light sampling
  • Simple temporal reprojection filter
  • Depth, normals, albedo, motion vectors AOV generation
  • Hot kernel reloading
  • OpenCL/OpenGL interop for presenting the image

Building

  1. Clone the repository git clone --recursive https://github.com/AlexanderVeselov/RayTracing.git
  2. Generate a solution using CMake
  3. Open the solution and build RayTracingApp project

Running

  • Run RayTracingApp executable
  • You can provide the following optional arguments
    • -w, -h window width and height
    • --scene <path> path to scene to be loaded
    • --scale <scale> scale of the imported scene
    • --flip_yz 0/1 flip Y and Z axis of the scene (some scenes have Y up and some have Z up)
    • --opengl 0/1 use OpenGL-only mode