Realtime Global Illumination techniques collection
by Martin Thomas
What does this list contain?
So I decided to do a little research on realtime (mostly) global illumination techniques, and compile a little list here.
If you have any suggestions, or any techniques that I may have missed please let me know.
Note that I deliberately excluded path tracing, ray tracing or photon mapping based techniques.
Also I’ll try to focus on techniques that allow dynamic scene AND dynamic lighting in realtime.
Realtime should mean at least 30 fps on the latest hardware in 1080p.
Reflective Shadow Maps
Original paper: http://www.vis.uni-stuttgart.de/~dachsbcn/download/rsm.pdf
Splatting version: http://www.vis.uni-stuttgart.de/~dachsbcn/download/sii.pdf
Multiresolution splatting version (from GPU pro): http://homepage.cs.uiowa.edu/~cwyman/publications/files/multiResSplat4Indirect/multiResolutionSplatting.pdf
Paper on optimization: http://cgg.mff.cuni.cz/~jaroslav/papers/mlcourse2012/mlcourse2012%20-%2005%20-%20dachsbacher_notes.pdf
Clustering: http://cg.ivd.kit.edu/publications/2012/RSMC/RSMC.pdf
http://cg.ivd.kit.edu/downloads/i3d2011ssbc.pdf
Clustered visibility: http://www.mpi-inf.mpg.de/~ritschel/Papers/ClusteredVisibility.pdf
A demo: http://www.nichego-novogo.net/temp/RSM1.rar
Several techniques (rsm, lpv, voxel gi): http://www.tobias-franke.eu/?dev
Voxel Cone Tracing
Original papers:
[FIXED] https://research.nvidia.com/publication/interactive-indirect-illumination-using-voxel-cone-tracing
Additional papers:
http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-SparseVoxelization.pdf
http://on-demand.gputechconf.com/gtc/2012/presentations/S0610-GTC2012-Octree-Voxelization-Global.pdf
[UPDATED] http://fumufumu.q-games.com/archives/Cascaded_Voxel_Cone_Tracing_final_speaker_notes.pdf
Demo with source: https://github.com/domme/VoxelConeTracing
http://www.geeks3d.com/20121214/voxel-cone-tracing-global-illumination-in-opengl-4-3/
Video: http://vimeo.com/75698788
http://www.youtube.com/watch?v=SUiUlRojBpM
Blog post(s) about it: http://realtimevoxels.blogspot.hu/
http://www.altdevblogaday.com/2013/01/31/implementing-voxel-cone-tracing/
Layered Reflective Shadow Maps
[UPDATE] Original paper and video: https://software.intel.com/en-us/articles/layered-reflective-shadow-maps-for-voxel-based-indirect-illumination
Note: this is a similar technique to voxel cone tracing, quality is similar, performance seems to be worse overall, but I think there’s room for more tricks… Oh, and surprisingly it runs on an Intel Iris pro (at 200ms 🙂 )
Light propagation volumes
Original papers:
http://www.crytek.com/download/Light_Propagation_Volumes.pdf
Cascaded;
http://www.vis.uni-stuttgart.de/~dachsbcn/download/lpv.pdf
http://www.crytek.com/download/2010-I3D_CLPV.ppt
VPL based: http://web.cs.wpi.edu/~emmanuel/courses/cs563/S12/slides/cs563_xin_wang_lpv_wk7_p2.pdf
Octree: http://www.jiddo.net/index.php/projects/other-projects/80-thesis-octree-lpv
Demos:
http://www.rafwrobel.com/lpv/lpv.zip
http://3d.benjamin-thaut.de/Files/file.php?id=8
http://blog.blackhc.net/wp-content/uploads/2010/07/LPVPrototype.zip
+ there’s a sample in the nvidia DX11 sdk
Videos:
http://www.youtube.com/watch?v=vPQ3BbuYVh8
In Fable Legends: http://www.lionhead.com/blog/2014/april/17/dynamic-global-illumination-in-fable-legends/
SSDO
Original paper: http://www.mpi-inf.mpg.de/~ritschel/Papers/SSDO.pdf
Deferred: http://kayru.org/articles/dssdo/
Note that this is not really a GI solution rather a local GI solution where local means that it works well on small details, but it fails to grab the whole picture…
Deferred radiance transfer volumes
Original paper: http://www.gdcvault.com/play/1015326/Deferred-Radiance-Transfer-Volumes-Global
Demo at: http://codeflow.org/entries/2012/aug/25/webgl-deferred-irradiance-volumes/
Radiance hints method
Original paper: http://graphics.cs.aueb.gr/graphics/docs/papers/RadianceHintsPreprint.pdf
[FIXED] playable at: http://tesseract.gg/
[…] https://extremeistan.wordpress.com/2014/05/11/realtime-global-illumination-techniques-collection/ […]
High-Resolution Sparse Voxel DAGs
This paper shows that a binary voxel grid can be represented orders of magnitude more efficiently than using a sparse voxel octree (SVO) by generalizing the tree to a directed acyclic graph (DAG). The DAG can still be efficiently used for ray tracing of shadows and ambient occlusion.
Click to access highResolutionSparseVoxelDAGs.pdf
I knew about this, but I’m not sure if it can be used for GI. Someone will need to show it 🙂
Sony’s braniacs managed to do Sparse Voxel Cone Tracing for lighting without having to create the CPU heavy Octrees. They combine the Sparse Voxel stuff with the GCN Sparse Textures.
http://gamenmotion.blogspot.ru/2013/09/playstation-4-partially-resident.html
thanks I’ll take a look at it!
The State of the Art in Interactive Global Illumination 2012
This article reviews the state of the art in interactive global illumination computation, that is, methods that generate an image of a virtual
scene in less than one second with an as exact as possible, or plausible, solution to the light transport. Additionally, the theoretical background and attempts to classify the broad field of methods are described. The strengths and weaknesses of different approaches, when applied to the different visual phenomena, arising from light interaction are compared and discussed. Finally, the article concludes by highlighting design patterns for interactive global illumination and a list of open problems.
Click to access GISTAR.pdf
Thank you for bringing my attention to this!
though I deliberately discarded most of these techniques described in this paper because of scene and light dynamism, and insufficient speed.
Here is another survey on many light methods:
http://cgg.mff.cuni.cz/~jaroslav/papers/2013-mlstar/
Did you have a look at Image Space Photon Mapping?
[…] Papers collection […]