This was a side project that I used to further improve my knowledge on the subject of computer graphics and ray tracing. Some rendering features of this c++ ray-tracer include:
- Light Reflection and Refraction
- Transparent Surfaces
- Diffuse Texture-Mapping (.tga image format)
- User Controlled Soft Shadows
- User Controlled Super-Sampling Anti-Aliasing
- .Obj Triangle Mesh Model Loading
Image variables are controlled through a text file in the main directory. Here, users can control output resolution, the number of shadow samples taken, super-sampling level, the output image name and a path to the scene config file. The scene config file is a custom .scn extension text file that contains details about the objects in the scene.
Example of including a .obj mesh model, a cube, and sphere in a scene file.
Render Images: