Skip to content

study-game-engines/raytracer-hacker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RenderingEngine

The Stanford Dragon. It took the ray tracer approximately 150 seconds to render its 100,000 facets on my laptop with antialiasing enabled. Without antialiasing, it would have taken approximately 20 seconds.

Specifications

  • Recursive ray tracer
  • Multithreaded (default number of threads = system cores)
  • Uses Phong shading
  • Support for ambient, diffuse, and specular lighting.
  • Support for ray reflection
  • Support for camera translations (zoom)
  • Support for multiple light sources
  • Support for spheres
  • Support for triangular meshing
  • Support for STL files
  • Support for camera rotation
  • Support for vertex normal interpolation (uses barycentric coordinates)
  • Optimized using balanced kd-tree [O(n) generation, O(log n) traversal]
  • Antialiasing (jittered antialiasing on n x n subcells of pixel) for color smoothing [O(n^2) time]
  • Support for both gaussian and box filters [no performance difference with either]
  • 's' key takes picture of current render

Future Improvements

  • Finish bidirectional path tracer
  • Texture mapping
  • Support for refraction

About

Fast, multi-threaded, recursive ray tracer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%