Friduric / voxel-cone-tracing

A real-time global illumination implementation using voxel cone tracing. Implemented in C++ and GLSL.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A voxel cone tracing implementation for real-time global illumination. Voxel cone tracing is used to create effects such as transparency (by refraction), reflections (diffuse and specular) and soft shadows. The implementation traces cones through a 3D texture. The 3D texture represents a directly lit voxelized scene.

See following URL for a video demo: https://youtu.be/cuCwyIBOapY

Inspired by "Interactive Indirect Illumination Using Voxel Cone Tracing" by Crassin et al.

(Cyril Crassin, Fabrice Neyret, Miguel Saintz, Simon Green and Elmar Eisemann) https://research.nvidia.com/sites/default/files/publications/GIVoxels-pg2011-authors.pdf

Course project in TSBK03 (Advanced Game Programming) at Linköping University by Fredrik Präntare. See the report here: https://prantare.files.wordpress.com/2016/12/frepr183_voxel_cone_tracing.pdf

This demo requires OpenGL 4.4 to run.

Rafael Sabino has adapted this project to run on Mac OS X. For more information, see: https://github.com/phonowiz/voxel-cone-tracing.

Feel free to use, modify and share. Sharing is caring!

About

A real-time global illumination implementation using voxel cone tracing. Implemented in C++ and GLSL.

License:MIT License


Languages

Language:C++ 52.5%Language:C 46.6%Language:GLSL 0.5%Language:Objective-C 0.3%Language:CMake 0.0%