Demoniak3D Old Building Demo Win32 Executable + Source code Zip Archive - (39804k)
Release Date: January 27, 2008
Unzip the archive and launch DEMO_Old_Building.exe. That's all!
Demo's source code is localized in the DEMO_Old_Building_1280x1024.xml file.
For any bug report or feedback, please send an email to jegx[AT]ozone3d[DOT]net and add "[DEMO FEEDBACK]" to the subject.
Vous can also post your feedbacks in the demo's topic: Demoniak3D Demo - Old Building.
Recommended configuration:
Operating System: Windows XP SP2 / Vista
Processor: Pentium III or AMD Athlon and up processor - 800 MHz and up.
Memory: 1Gb RAM and up
Graphics Controller: ATI Radeon (with the latest Catalyst drivers) or NVIDIA GeForce (with the latest Forceware drivers) with at least 256Mb of graphics memory.
Once the modelization finished, one has to extract (and this word is weak!) the master-piece from C4D.
To get that aim, we have used the Riptide plugin for C4D, that allows to export
the model in OBJ.
The OBJ model of the building is then loaded in Hyperview3D (available soon so do not ask me for the moment where to download it)
in order to check the export and mostly to save it in o3mff format to keep its content secret:
The o3mff format stores the object's geometry as well as the textures. For this demo, the textures have been baked in
Cinema4D. That makes it possible to have a realistic rendering (that takes into account shadows and global illumination)
at no cost since any calculation is done during the frame rendering.
We take advantage of Hyperview3D to get the materials's name of building's transparent surfaces (street lamp, windows).
This is important because the demo needs to access to these materials to add reflection effects.
Now that we have done the preparation work, we can start Demoniak3D demo coding.
The skybox loading code is localized in the <skybox> xml element.
3.4 - Reflection on windows: environmement mapping
In order to add more realism to the building's windows and street lamps (which appear white in the previous images),
we're going to apply a simple sphere mapping GLSL shader. For mode detail on the sphere mapping technique, see:
Spherical Environment Mapping.
The following shader is applyied to materials with transparent surfaces (vitre and vitre_lp in the demo's source code):
This shader uses the following environment texture:
3.5 - Small graphical interface
The next code allows the inclusion of a small library to manage the graphical user interface:
<include lib="lib_demo_interface.xml" />
3.6 - Chimney's smoke: particle system
The particle system makes it possible to create every kind of interesting small graphic effects (of which the smoke).
The secret lies in the choice of particle's texture and the tuning of blending coefficients:
The smoke'code is localized in the <particle_system> element:
3.7 - Camera animation: motion-path
The demo has an automatic mode: after five seconds of mouse non-activity, the camera switches to the automatic mode
and the camera's trajectory follows the motion-path. This motion-path has been done with CameraPathEditor.
3.8 - The touch of fun: the four-band equalizer
The four-band equalizer allows to see background music's variations by reading the audio buffer. the equalizer is created dynamically in LUA
(see the function BuildEqualizer()). Then the audio buffer reading (HYP_Sound.GetSpectrumValue()) allows us to move vertices of each band.
Here we are, this small making-of is over. Many details aren't covered on purpose because of the lack of time. But I'll anvser with pleasure
to all your questions in the demo's thread: Old Building @ Demoniak3D Forum.
For stuff related to Cinema4D modelization, please post here (only french messages are accepted): Vieil Immeuble @ Steph3D Forum.