Ray Tracing
This ray tracing project is still in progress. Now I have mainly implemented these features listed below:
1. Bounding volume hierachy
Implemented the bounding volume hierachy data structure and world axis aligned bounding box. Combined bounding boxes together and splitted them by 1 axis once (x, y, z).
2. Axis aligned Bounding box
Implemented local space axis align bounding box and world space axis aligned bounding box. Used 2 ways to implemented world space axis aligned bounding box for class Triangle and class Model.
3. Visualized bounding box and Bounding volume hierarchy
Implemented the bounding box visualizaiton in OPENGL for every geometry's bounding box and bounding volume hierachy. It's easier to debug the Bounding volume hierachy data structure.
3. Stratified sampling
Implemented stratified sampling and used 4*4 samples per pixel.
4. Soft shadow 5. Depth of field 6. GLossy effects
7. Refraction and Beer's law
Implemented refraction with Beer's law and attenuate the light color a little
bit every refraction and reflection calculation.
1. Bounding volume hierachy
Implemented the bounding volume hierachy data structure and world axis aligned bounding box. Combined bounding boxes together and splitted them by 1 axis once (x, y, z).
2. Axis aligned Bounding box
Implemented local space axis align bounding box and world space axis aligned bounding box. Used 2 ways to implemented world space axis aligned bounding box for class Triangle and class Model.
3. Visualized bounding box and Bounding volume hierarchy
Implemented the bounding box visualizaiton in OPENGL for every geometry's bounding box and bounding volume hierachy. It's easier to debug the Bounding volume hierachy data structure.
3. Stratified sampling
Implemented stratified sampling and used 4*4 samples per pixel.
4. Soft shadow 5. Depth of field 6. GLossy effects
7. Refraction and Beer's law
Implemented refraction with Beer's law and attenuate the light color a little
bit every refraction and reflection calculation.