This is a basic multi-threaded Ray Tracer implementation for CENG477 Computer Graphics course.
- Having strong OOP features
- Multi-threaded rendering
- Parsing XML scene files and rendering images in PPM format
- An extensible abstract shape intersection base class called Shape, and derived Sphere, Triangle, and Mesh classes
- Point and Ambient Lights
- Cameras, Image planes
- Shading models
- Diffuse Shading
- Ambient Shading
- Bling-Phong (Specular) Shading
- Mirrorness
- Shadows
Download the repository
git clone https://github.com/ramazantokay/RayTracer.git
and run the following command on the terminal
make all
then, you can use the RayTracer with this command
./raytracer <sample_scenes/scene_file.xml>
It will render the scene and save it in its current directory with ppm format.
David Statue
Utah Teapot METU CENG compositon
Utah Teapot Reflection
Dragon
Marbles
Mirror Spheres