Skip to content

A sample ray-tracer implementation using C and MinilibX library.

Notifications You must be signed in to change notification settings

hyonosake/miniRT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raytracer

Updating this project from C to C++ with following changes:

  • Using ADT (vector, dequeue, stacks)
  • Class heirarchy with interfaces and inheritace
  • Enlarge supported objects
  • Smart object pointers
  • Optimal computations using built-in algorithms and templates
  • Implement reflections and transparency
  • (?) OpenCL

DESCRIPTION

Raytracing project built upon minilibx library for CPU-computation. Ray tracing is a rendering technique that can realistically simulate the lighting of a scene and its objects by rendering physically accurate reflections, refractions, shadows, and indirect lighting. Ray tracing generates computer graphics images by tracing the path of light from the view camera (which determines your view into the scene), through the 2D viewing plane (pixel plane), out into the 3D scene, and back to the light sources. As it traverses the scene, the light may reflect from one object to another (causing reflections), be blocked by objects (causing shadows), or pass through transparent or semi-transparent objects (causing refractions) ray-tracing-image-1

Fetures

  • Multithreaded render
  • Dymaic camera (movement and rotation)
  • Blinn–Phong reflection model
  • Object shadows
  • Generating BMP image

Screen Shot 2021-11-21 at 4 14 49 PM

Inout formats

  • Spheres
  • Cylinders
  • Disks
  • Squares
  • Triangles

Screen Shot 2021-11-21 at 4 05 59 PM

Screen Shot 2021-11-21 at 4 14 29 PM

About

A sample ray-tracer implementation using C and MinilibX library.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published