eMail

The most striking feature of Soya 2.0 is mini shaders. They allow to
write Open GL / GL SL shaders so easily! With GL SL, you have to
rewrite the entire rendering pipeline, even if you want to modify only
a small part of it...

On the contrary, with Soya's mini shaders, you can write a mini shader
that overrides a part of the rendering pipeline (ex customizing the
lighting computation), or that adds an extra step in the rendering (ex
deforming the model geometry). Then Soya assembles all mini shaders,
adds the missing pieces of the rendering pipeline, and generates a GL
SL shader.

Additionally, Soya's mini shaders can be written with a Python-like
syntax ;)

Soya provides 16 classes mini shaders, each corresponding to a
specific part of the rendering pipeline. Here is an example of a
"camera-space deform" mini shader, which deforms the model's geometry
in camera space:

Mini shaders can be associated to any object: a Model, a Body (an
instance of Model), a World (a group of other 3D object) or a
Material. When associating a mini shader to a World, it is inherited
by all objects inside this World, and automagically combined with
objects' own mini shaders. For more details about mini shaders, see
the mini-shader-* tutos!