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.

20.3.06

Light Maps

IE gère les ombres d'occlusion ambiantes via Ligh Maps.
...

19.3.06

Fourrures

IE est doté de shaders spécialisés dans le rendu d'objets couverts de fourrures. C'est évidement une approximation qui fait partiellement illusion, mais c'est du temps réel, faut-il le rappeler... Le système est paramétrable et peut réaliser des fourrures via 15, 20 ou jusqu'a 30 passes. Au delà on sort d'une quelconque application en temps réel avec le matériel actuel.
J'ai ensuite utilisé ce shader en collaboration avec d'autres shaders déjà présents dans le système IE pour réaliser une scène qui présente un petit peu plus d'interrêt : dessiner des cheveux à cet horrible vieux bonhomme. Ca donne assez bien, pour un début.

9.3.06

Specular maps

Les reflets spéculaires apportent un plus pour le rendu de matières plastiques, ou métalliques. C'est un fait. Mais parfois, un seul objet, une seule entité, est composée de plusieurs types de matériaux, variant d'avantage avec la texture que l'on y applique qu'avec la géométrie réelle. Difficile donc de faire des sous-objets pour séparer les matériaux. Le problème est le plus souvent rencontré avec les reflets spéculaires. En fait, comme on peut le voir ici, appliquer les reflets sur l'ensemble du modèle discrédite très fort son réalisme, bien que ça le rende plus "spectaculaire" au niveau technique... Un absence totale de reflets discréditerait également les parties métalliques du modèle. Parfois les parties métalliques sont plus petites, ou en tout cas non confondues avec de la géométrie réelle.

C'est pour corriger ce problème, et rendre le système de matériaux plus flexible que les "Specular maps" existent dans le système IE. On a l'impression que les reflets sont supprimés, mais il n'en est rien, pour s'en convaincre, il suffit de regarder les parties métalliques comme les pieds ou l'arme sur le bras. En fait les reflets sont localisés aux bons endroits. Le fait de le voir en mouvement permet de mieux s'en rendre compte. Une "Specular Map" est une texture invisible, mais appliquée tout de même à l'objet, et suivant la couleur de la texture, on adapte le rendu du matériau présent au même endroit.

8.3.06

Matériaux transparents


IE gère les matériaux transparents, avec possibilité de déterminer un coefficient de transparence. Cette option permet assez de flexibilité pour pouvoir rendre différents type de surfaces. Cette flexibilité est encore accrue, puisque cette transparence peut être appliquée à n'importe quel matériau déjà défini via les « shaders » développés. Ici on peut voir que les fenêtres de la voiture sont transparentes, mais présentent un reflet environnemental en plus. Combiner ces éléments est l'idéal pour simuler le verre, et le "plexiglass". La transparence ici définie est cependant uniforme, c'est à dire qu'elle est appliquée à tout un objet à la fois. Ici, la vitre de la voiture, est considérée comme une entité objet différente. La technique employée est celle de la seconde passe avec objets transparents, sans mise à jour du « depth buffer », ce qui évite de devoir trier les objets de la seconde passe, propriété importante pour le rendu temps réel. Cela veut également dire que si la scène contient trop d'objets transparents se recouvrants, on peut observer des zones incorrectes ... à manipuler avec précaution donc.