Skip to content

andrewd440/Project-RayTracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project-RayTracer

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
Intersection acceleration structures include the use of a KD-Tree for scene partitioning and hierarchical bounding volumes are used for mesh models.

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. Scene File

 

Render Images:

BoxPeak

SuperSamplingAndSoftShadows

Super3x