Skip to content

looosha/Mini-Ray-Tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini-Ray-Tracer

Mini Ray Tracer is a 3D-graphics renderer that synthesizes a photorealistic snapshot of a scene, individually tracing the path of each ray from the observer's perspective. It is a working console application where the input is a description of the 3-dimensional scene and the output is a PNG image.

This self-proposed project was created to fulfill one of the requirements of the course COMP 2012H Fall 2019 in HKUST. Implementation and algorithm behind the project were explained in the following presentation: https://drive.google.com/file/d/1gIxRG7IrHpc7Z-HVAODMjoI7Siqgfa7-/view?usp=sharing.

Running the tests

To run the tests it is needed to set up the 3D scene in the console by adding the spheres, AABB (axis-aligned bounding boxes) of different materials: lambertian, metal and dielectric.

Depending on the shape, material of the objects, position of a "camera" (source of the light beams) which are default or set by the user, there will be different output images.

Test images

Picture1

Final resolution: 1200x800
Anti-aliasing level: 100
Reflection depth: 5
Finished in 2821.56s

Picture2

Final resolution: 800x600
Anti-aliasing level: 50
Reflection depth: 5
Finished in 879.54s

Picture3

Final resolution: 800x400
Anti-aliasing level: 100
Reflection depth: 5
Finished in 125.77s

Acknowledgments

The project was inspired by the Ray Tracing book series by Peter Shirley.

About

Self Proposed Project for COMP 2012H

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published