Index
In this project, I followed the instruction and gradually implemented the required function in ray tracing. The main programming language is C++, and OPENGL and GLUT are utilized to simulate the scene and object.
- Shading
- Shadows
- Reflections and Refractions
- Triangular Meshes
- Space Partitioning
- Textures
- Antialiasing
- Depth of Field
- Soft Shadows and Glossy Surfaces
- Monte Carlo
- Path Tracer
- Photon Mapping
- Final Project
Shading
Source code on Github Original figureGenerate shading effect according to the positions of lights and type of material of object.
Input | Output |
---|---|
Shadows
Source code on Github Original figureAdd ray traced shadows to ray tracer system.
Input | Output |
---|---|
Reflection
Source code on Github Original figureAdd reflection and refraction effect.
Input | Output |
---|---|
Triangular Meshes
Source code on Github Original figureAdd plane and triangular mesh object types to the ray trace system.
Input | Output |
---|---|
Rendering time:0:04:29 | |
Space Partitioning
Source code on Github Original figureAdd bounding volume hierarchy (BVH) support to accelerate rendering.
Input | Output |
---|---|
Rendering time:0:00:04 | |
Textures
Source code on Github Original figureAdd textures to objects as well as background and reflection/refraction environment images
Input | Output |
---|---|
Antialiasing
Source code on Github Original figureImplement adaptive antialiasing with multiple samples per pixel. Comparing to the above output, the backgroud is not crazy now and looks smoother.
Input | Output |
---|---|
Depth of Field
Source code on Github Original figureadd depth of field support
Input | Output |
---|---|
Soft Shadows and Glossy Surfaces
Source code on Github Original figureImplement soft shadows for area lights and glossy reflections and refractions.
Input | Output |
---|---|
Monte Carlo GI
Source code on Github Original figureUsing Monte Carlo sampling for indirect/global illumination with a single bounce.
Input | Output |
---|---|
Path Tracer
Source code on Github Original figureImplement path tracing and gamma correction.
Input | Output |
---|---|
Photon Mapping
Source code on Github Original figureUsing Monte Carlo sampling for indirect/global illumination with a single bounce.
Input | Output |
---|---|
Final Project
Source code on Github Original figureBuild own scene and apply rendering on it.
Input | Output |
---|---|