Hello,
I finished my B.Sc. in Media IT recently where I wrote an implementation for dynamic volumetric lighting in OpenGL for my thesis.
It is mostly fragment shader code Most brain-power went into fragment shader code.
More specifically, this means you want to reflect light from light sources in mid-air because of particles (smoke, fog, dust, etc.) blocking some of the light.
Result and reason was to show it is perfectly ready for use in real-time 3D graphics applications, ranging from 100 (GT540M) to 1200 (GTX640) frames per second in an otherwise basic "rendering engine" (for-loop which renders all VAOs; textured polies with diffuse lighting).
So yeah, just posting some images for motivation. SFML was mostly used for input processing and font rendering (which turned out to be EXTREMELY useful and easy to use! kudos to you!!)
No VL:
With VL:
No VL:
With VL:
No VL:
With VL:
No VL:
With VL:
The In-Program menu which uses font-rendering. You can click and hold, then move mouse up or down to change values:
There are some visible artifacts in some cases, and the shown scenes aren't all polished, but you have many ways to change the way the effect looks and really use it in cool ways.
I think the only feature I ended up #including windows.h for was to check if window was minimized to stop rendering.
All in all a quite demanding project with a load of physics (attenuation, optical depth, rayleigh-scattering) and a nifty algorithmic procedure (interleaved sampling). If images look a bit weird, well there is varying gamma correction since I presented some of these through a beamer.
I learned A TON while doing this, especially because I built this ground up, camera controls, VAO and VBO handling, rendering code and all. Hope you like it and thanks for making SFML!