Skip to content

This is a basic multi-threaded Ray Tracer implementation for CENG477 Computer Graphics course.

Notifications You must be signed in to change notification settings

ramazantokay/RT_RayTracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 

Repository files navigation

RT RayTracer

This is a basic multi-threaded Ray Tracer implementation for CENG477 Computer Graphics course.

Some of the properties of the Ray Tracer as follows:

  • 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

QuickStart

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.

My Example scenes

David Statue

David

Utah Teapot METU CENG compositon

Utah Teapot Composition

Utah Teapot Reflection

Utah Teapot Reflection

Some provided scene

Dragon

Dragon

Marbles

Marbles

Mirror Spheres

Mirror Spheres

About

This is a basic multi-threaded Ray Tracer implementation for CENG477 Computer Graphics course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages