Final Project
Final Project
The following is an exploration of photorealistic real-time 3D rendering techniques, especially a technique for rendering light scattering. And how these real-time techniques can be used to create abstract imagery.
Example of how the light scattering technique is used to produce somewhat photorealistic lighting effects (source: GPU Gems 3):
The light scattering effect is not part of the rendering pipeline of the graphics card therefore shaders are used to program a different behavior into the pipeline.
The following illustrates the process of generating the effect:
The objects of the scene are drawn before the occluding geometry and everything is rendered to a texture. The texture is sent to the shader and the result is a new texture with the light scattering effect applied. This texture can then be applied to a quad that fills the hole screen.
The finished application is implemented in LuaAV using OpenGL to talk to the graphics card and GLSL to program the rendering pipeline.
The following image shows the result rendered out from LuaAV.
The source code for the LuaAV application is available here: Occluded Light.zip
To make the visuals more dynamic the application was made audio reactive using Quartz Composer. The result is an iTunes visualizer. Download: Occluded Light Visualizer.zip
Unpack the zip file into one of the following folders ~/Library/Compositions or /Library/Compositions
Occluded Light