Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 1.86 KB

File metadata and controls

33 lines (25 loc) · 1.86 KB

Ray Tracer

Created using C++, in Visual Studio.

This program generates images of objects with realistic lighting by simulating how light behaves in a virtual environment. This project is a more up-to-date recreation of a previous ray tracer that I worked on: https://github.com/nvasiu/Ray-Tracer. This project's features include:

  • Diffuse shading and realistic shadows.
  • Rough or reflective surfaces.
  • Light emitting objects.
  • A menu UI that lets users control the variables of the environment.
  • Real time image rendering.
  • (Transparent objects and light refraction are a work in progress.)
Screenshot 2024-03-26 145609
Example Image With Program UI
Screenshot 2024-03-26 150641
Reflective, Rough and Light Emitting Spheres

This program simulates realistic lighting in real time by randomly modifying the direction that light rays bounce. This randomness means that images will initially be generated with some amount of noise (as seen below). Letting the program run with the "accumulate" option turned on will gather color data over many render iterations and average them out, resulting in a cleaner image.

Screenshot 2024-03-26 151233
How An Image Looks Initially Without Accumulation
Screenshot 2024-03-26 151209
How The Previous Image Looks After A Second Of Accumulation
image
Work In Progress Of Transparent Objects