Demoniak3D Static Ambient Occlusion Lighting Demo
Static AO Demo Source Code - archive zip - (6726k)
Release date: November 21, 2005*** The demo source code requires Demoniak3D to be executed.
Demoniak3D is available here: [:: Demoniak3D Demo-System ::].
For any bug report or feedback, please send an email to feedback [AT] ozone3d [DOT] net and add "[DEMO FEEDBACK]" to the subject.
- Operating System: Windows XP SP1 or SP2
- Processor: Pentium III or AMD Athlon XP and up processor - 2.4 GHz and up.
- Memory: 512M RAM and up
- Graphics Controller: ATI Radeon 9700 and up (with the latest Catalyst drivers) or GeForce FX 5900 and up (with the latest Forceware drivers)
- Resolution: 1024x768 - 32 bits/pixel
This demo focuses mainly on Ambient Occlusion Lighting. For more details, please refer to the tutorial
about this topic: [:: Static AO tutorial ::]
This demo also shows how to make a realistic water reflexion. The principle is to render the reflexion in a texture
(named water_reflect_tex in the code) and to use this texture in the GLSL reflexion shader (waterShader in the code).
A normal-map is used in this shader to simulate the surface movements. The little trick which slightly increases the
realism is the intensity of the reflexion which varies with the angle between the normal to the water surface and the
camera. The closer to zero is this angle (the camera plane faces the water), the weaker the reflexion will be (one can see the
bottom of the water). Actually, the shader uses the alpha value instead of the reflexion coefficient, which allows to create more or
Instructions for use
This demo requires an OpenGL 1.5 compliant graphic controller.
Unzip the archive and load the following files in Demoniak3D:
- Static_AO_NVIDIA_Demo.xml if you have a nVidia graphic controller.
- Static_AO_ATI_Demo.xml if you have an ATI graphic controller.
The SPACE key will activate the water fall (particle system). By default, these particles are in point_sprite mode.
The rendering speed may be increased by the hardware (if the graphics controller offers the point_sprite support).
The M key allows to change the main shader for scene rendering. The default shader (AmbientOcclusiobLightingShader) performs a
rendering in ambient occlusion bump mapping. The second shader (BumpMappingShader) will render the scene only in bump-mapping.
This let us realize the contribution of the AO.
It should be noted that the specular component is not taken into account in the shaders.
The occlusion-map has been generated by the following tool: [:: AOGen ::]
|Author:||Jérôme 'JeGX' Guinot|
|Contact:||jegx [at] ozone3d [dot] net|