Ce petit tutoriel peut être vu comme un complément des deux livres suivants:
le GPU Gems #1 et le ShaderX3. Ces deux livres traitent de la
programmation des shaders temps réel. Plus particulièrement, deux articles, un dans chaque livre,
sont visés :
- GPU Gems #1: Deformers - chap. 42
- ShaderX3: Deforming of Mesh Objects Using HLSL - chap. 1.3
Ces deux livres, qui font partis de ma librairie personnelle, sont tout simplement fantastiques et
représentent, pour nous, pauvres développeurs en quête du Graal graphique, une formidable source
d'inspiration et d'apprentissage des techniques de pointe. Il arrive cependant que certaines
notions traitées dans ces livres manquent un peu d'exemples fonctionnels et c'est le cas des 2
chapitres mentionnés.
Il se trouve que ces deux chapitres traitent d'un même sujet: la déformation de maillages
polygonaux ou plus simplement de mesh-deformers. Le but de cet article n'est pas de
refaire la théorie des mesh-deformers car elle est parfaitement expliquée dans ces livres
mais juste de fournir des codes sources opérationnels pour chacun des 2 chapitres.
La grande nouveauté de ce tutoriel par rapport à tous les précedents est l'utilisation, en plus
de la plateforme Demoniak3D, d'un
petit moteur 3D spécialement developpé pour les tutoriaux: le RaptorGL.
Ce moteur, dont les bases ont été dérivées du moteur oZone3D,
se présente sous la forme d'une librairie statique C++/OpenGL. Il est fourni avec ses codes
sources afin que l'on puisse avoir tous les éléments en main pour comprendre comment les
choses fonctionnent. Pour résumer, vous aurez droit, pour chaque démo, à deux version: l'une
faite avec Hyperion et l'autre faite avec le RaptorGL [grunting...].
L'OpenGL Shading Language sera utilisé pour l'implémentation des shaders temps réel.