---==== coaxial by coredumped ====---
--- presented at main party #2 ---
* 1-4 november 2007 *
Some words about this demo :
1) hw requirements
The demo should run on any hardware that support pixel shader 1.4 or more, though some effects
will be disabled if there's no support for pixel shader 2.0. The demo requires Direct3D 9.0c
to be installed. The demo should run smoothly with gpus like the Ati 9800 pro or the
nVidia Geforce 6 series. A moderately fast cpu (1.5 ghz or more) and 512 mb of ram are
enough to watch the demo (256 mo not tested).
2) technical notes
'coaxial' is a small 2 persons project, that was mostly a learning/experiment process. For this reason
some scenes have a basic look, while the last ones are more sophisticated with better textures & materials.
There is no real scenario in the demo, it is rather a collection of unrelated scenes, but they have
in common to be in a sci-fi setting. Hopefully the next demo should put more emphasis on scenario and
design as well!
The engine behind the demo is a shade-tree based one. Its development in fact began long before any scene
was made for this demo. There were actually very few shaders written, as most of them are generated from
materials scripts written in the lua language. Lights can also have materials which mean that the shader system
must handle combinations of 'geometry modifiers'+ 'light materials' + 'geometry materials' and consolidate
them into the final pixel & vertex shaders.
This computation is costly (several milliseconds) so it it mostly cached.
There are others approachs to the problem of dealing with shader count explosion, such as using the preprocessor
found in HLSL to manage the various features of a material (normal maps, details maps etc.) but it lacks the flexibility
of having a node based system that allows for numerous special effects for any component of a materials, this is why
this method was chosen. Another idea behind this material system was to try to virtualize shader ressources.
For now there is a simple shader splitting scheme when multitap shadows exhausts the shader resources.
The demo uses lightmpas (shadow masks actually) for static lighting & mostly shadow maps for dynamic lighting.
Enjoy and thank you for watching!
code & graphics : nicolas vizerie (email@example.com)
music : y0syst3m (firstname.lastname@example.org)