InExtremis

Projet de programmation. Librairie 3D - TEMPS REEL - utilisant OpenGL et GLSL écrite avec le langage C++. Cette librairie représente mes études dans le domaine de la 3D temps réel et n'a pas d'autres ambitions pour l'instant. Ce travail est réalisé comme travail de fin d'études pour le département d'algorithmique de l'Université de Liège.

10.10.07

Shadow Maps

Une autre technique de calcul d'ombre à été implémentée dans le moteur, il s'agit de la technique des shadow maps. Tout le monde semple dire qu'elle est plus simple à mettre en oeuvre que les stencil shadows, je ne partage pas cet avis. Bien les utiliser représente un certain défi. Disons qu'il est peut-être plus facile de l'intégrer dans une architecture existante. Enfin, IE propse désormais cette fonctionnalité également. Il reste maintenant à en adoucir les contours.

CPU Skinning

Il est désormais possible d'animer les modèles 3D affichés dans le moteur. L'animation se base totalement sur le système vu dans DOOM 3. Je l'ai cependant intégralement écrit sur base de l'observation de leur système. Il est également possible d'afficher les "squelettes" d'animations.

Le principe d'animation est assez simple, une fois assimilé (comme souvent !). En fait un vertex (poin dans l'espace) de la surface d'un objet animé dépend de la position des points clés (les articulations en quelque sorte). Sa position peut dépendre de plusieurs articulations. Une animation est une succession de positions d'articulations capturées à des instants clés dans le temps à intervals réguliers. La position entre ces trames est interpolée sphériquement (SLERP+Quaternions).

Principe maintenant bien connu, mais intéressant à implémenter :)

Depth of Field (basic version)



IE gère à présent les paramètres propres à la caméra utilisée pour visionner la scène. Il est donc possible de définir la focale de la caméra pour obtenir un effet de flou focal. Dans cet image, l'effet est exagéré pour mettre l'effet en évidence.

Eau ++

L'effet permettant de gérer les surfaces d'eau a été revu pour permettre d'en modifier les paramètres dynamiquement.

Cela permet de donner des aspects totalement différents selon les situations et les effets désirés. En effet, de l'eau n'aura pas le même aspect si elle est dans une mare ou dans un verre...

Voici trois jeux de paramètres différents :


Paramètres d'un verre d'eau, par exemple.



Paramètres d'un lac.



Surface de l'océan...

Glow

Les objets possèdent un paramètre supplémentaire qui permet de définir des zones auto-éclairantes à leur surface. Même en l'absence de toute lumière, ces zones sont visibles. Bien qu'étant extrèmement simple à intégrer, cela ajoute une pointe de réalisme.