3D C/C++ tutorials - Ray tracing
3D C/C++ tutorials -> Ray tracing
Use for personal or educational purposes only. Commercial and other profit uses strictly prohibited. Exploitation of content on a website or in a publication prohibited.
To compile and run these tutorials some or all of these libraries are required: FreeImage 3.16.0, GLEW 1.11.0, GLUT 3.7.6 / GLUT for Dev-C++, GLM 0.9.5.4
CPU ray tracer 00 - Color buffer, rays

>> CPU ray tracer 00 - Color buffer, rays <<
CPU ray tracer 01 - Ray triangle intersection

>> CPU ray tracer 01 - Ray triangle intersection <<
CPU ray tracer 02 - Uniform grid

>> CPU ray tracer 02 - Uniform grid <<
CPU ray tracer

Ray tracing algorithm generates an image by tracing the path of light through pixels in an image plane. It is capable of producing a very high degree of visual realism, but at a greater computational cost.

Features:

  • Model-View-Controller pattern
  • Object-oriented programming
  • Vector and matrix operations
  • Texture loading using FreeImage
  • Nearest and bilinear texture filtering
  • Fast ray-sphere and ray-quad intersection tests (30 million per second)
  • Third person camera
  • Ray calculation using inverse OpenGL based matrices
  • Spherical texture mapping
  • Spherical and enclosed area lights
  • Light reflection and refraction
  • Hard and soft penumbra shadows
  • Ambient occlusion
  • Supersampling
  • High dynamic range
  • Elapsed time counter

>> CPU ray tracer <<
Gallery
© 2010 - 2016 Bc. Michal Belanec, michalbelanec (at) centrum (dot) sk
Last update June 25, 2016
OpenGL® is a registered trademark of Silicon Graphics Inc.