LumenEngine is a C++ CUDA graphics engine that aimed to produce photorealistic images using Path Tracing techniques on GPU.
- Cornell :
- Depth of Field :
- Low light :
-
Rendering :
- Progressive rendering
- TODO : Render to PPM (will be added back)
-
Camera :
- Movements
- Subpixel jitter antialiasing
- Depth of Field (using aperture radius and focal distance)
-
Material :
- Perfect diffuse
- Perfect specular (mirror)
- Phong metal
- Glossy/coat
- TODO : Refraction/Caustics
- TODO : Subsurface scattering
-
Light sources :
- Emissive spheres
- Sky light
-
Shapes :
- Spheres
- TODO : Planes/boxes
- TODO : Triangles
-
Acceleration structure :
- TODO : BVH
-
Utility :
- GUI using ImGui
GLEngine was written using Windows/Linux, VS2015/QtCreator as the IDE, CMake as the building tool, CUDA 7.x/Compute Capabilities 5.2 (can be probably lowered to 3.2 if your hardware is not recent enough) as the GPGPU API, and a C++11 compiler in mind.
Download the source, build the project structure using CMake 3.x, open the project using your favorite IDE (tested on VS2015/QtCreator), build the project, and everything should be ready to use.
- In LumenEngine :
- Hold the right mouse button to use the camera
- Use the "+" and "-" buttons on the keypad control the aperture radius
- Hold LeftCtrl and "+" or "-" to control the focal distance
- Window & Input system : GLFW
- GUI system : dear imgui
- OpenGL Function Loader : GLAD
- OpenGL Mathematic Functions : GLM
- GPGPU : CUDA 7.x
- Samuel Lapere
- Peter Kutz/Yining Karl Li
- RichieSams