All Projects → djbozkosz → Light Propagation Volumes

djbozkosz / Light Propagation Volumes

Licence: gpl-3.0
Master's thesis implementing real-time global illumination method.

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Light Propagation Volumes

Fortran Sdl2
Fortran 2008 interface bindings to SDL 2.0
Stars: ✭ 18 (-79.55%)
Mutual labels:  opengl, sdl
Dgame
A 2D framework for the D programming Language
Stars: ✭ 84 (-4.55%)
Mutual labels:  opengl, sdl
Frag.exe
Multiplayer First-Person Shooter written in C++ using my own engine, Qor
Stars: ✭ 8 (-90.91%)
Mutual labels:  opengl, sdl
Dlangui
Cross Platform GUI for D programming language
Stars: ✭ 642 (+629.55%)
Mutual labels:  opengl, sdl
Graphicsprogramming
Demos related to OpenGL, Qt/QML, OpenCV and other X technologies.
Stars: ✭ 83 (-5.68%)
Mutual labels:  opengl, qt
Mlt
MLT Multimedia Framework
Stars: ✭ 836 (+850%)
Mutual labels:  opengl, qt
Milton
An infinite-canvas paint program
Stars: ✭ 960 (+990.91%)
Mutual labels:  opengl, sdl
Mapbox Gl Native
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
Stars: ✭ 4,091 (+4548.86%)
Mutual labels:  opengl, qt
Shaderworkshop
Interactive GLSL fragment shaders editor made with Qt
Stars: ✭ 43 (-51.14%)
Mutual labels:  opengl, qt
Qlogo
QLogo is a rewrite of the UCBLogo language and user interface with UCB compatibility. It is cross-platform and uses hardware-accelerated graphics.
Stars: ✭ 39 (-55.68%)
Mutual labels:  opengl, qt
Olive
Free open-source non-linear video editor
Stars: ✭ 5,682 (+6356.82%)
Mutual labels:  opengl, qt
Supertux
SuperTux source code
Stars: ✭ 1,120 (+1172.73%)
Mutual labels:  opengl, sdl
Zep
Zep - An embeddable editor, with optional support for using vim keystrokes.
Stars: ✭ 477 (+442.05%)
Mutual labels:  opengl, sdl
Nya
[WIP] Game Engine written in Crystal
Stars: ✭ 16 (-81.82%)
Mutual labels:  opengl, sdl
Taisei
A free and open-source Touhou Project fangame
Stars: ✭ 428 (+386.36%)
Mutual labels:  opengl, sdl
Satellitesimulator
🚀 A simple Qt/OpenGL satellite orbit simulator
Stars: ✭ 28 (-68.18%)
Mutual labels:  opengl, qt
Quickviewer
A image/comic viewer application for Windows, Mac and Linux, it can show images very fast
Stars: ✭ 394 (+347.73%)
Mutual labels:  opengl, qt
Fiber2d
Cross-platform 2D Game Engine in pure Swift
Stars: ✭ 415 (+371.59%)
Mutual labels:  opengl, sdl
Ashengine
A cross-platform 3D engine based on Qt 5.9.7, OpenGL 3.3 and Assimp 4.1.
Stars: ✭ 35 (-60.23%)
Mutual labels:  opengl, qt
Kdabtv
This repository contains the code of the examples showcased in the KDAB TV video series.
Stars: ✭ 61 (-30.68%)
Mutual labels:  opengl, qt

Light Propagation Volumes

FIT VUT: Master's Thesis Platform: Windows | Linux C++: 0x OpenGL: 3.2 | 4.3 MinGW: 5.3 Qt: 5 SDL: 2.0 GLM: 0.9.7 License: GPL v3

Master's thesis focused on real-time global illumination method: Light Propagation Volumes. This technique was introduced by Crytek in 2009 and it can calculate multiple indirect light bounce in scene. LPV is usually used with local illumination shading models and Shadow Mapping. LPV calculation of global illumination consists of three steps: injection virtual points lights obtained from Reflective Shadow Maps into LPV 3D grid, propagation of light intensity in grid stored in spherical harmonics coefficients and lookup for light intensity in LPV while scene rendering.

Implementation in C++ uses Qt/SDL and OpenGL library. LPV technique is implemented in 4 variations: with geometry shaders or compute shaders and both variants uses propagation method gathering or scattering. LPV uses 4 cascades with size 323 and Shadow Maps uses 6 cascades.

Thesis:

Text available on FIT VUT page. Direct link.

Hardware requirements

GPU with support OpenGL 3.2+ (D3D 10 comparable) for implementation with geometry shaders or OpenGL 4.3+ (D3D 11 comparable) for implementation with compute shaders.

Video:

Sponza

Images:

Sponza Sponza Sponza
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].