Les Artstronautes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

Les textures en 3D - 1.5 Trucages et tricheries

Aller en bas

Tuto Les textures en 3D - 1.5 Trucages et tricheries

Message par Marsu Mar 25 Oct 2011 - 21:11

Si vous avez suivi les chapitres précédents et que vous vous rendez dans votre application favorite de synthèse d'images, vous devez pouvoir commencer à faire un lien - au moins au niveau des termes - entre des paramètres pour les textures des objets et les propriétés physiques de la lumière.

Mais voilà, il y en a beaucoup d'autres dans les applications qui n'ont pas été vus. Et pour cause : il ne s'agit pas directement des comportements physiques de la lumière mais des trucages, tricheries et autres simplifications que les moteurs de rendu ont mis en œuvre depuis des années pour suppléer la puissance limitée et le manque de mémoire des ordinateurs.

Lumière ambiante

La lumière ambiante (ambient light) est en fait une simplification extrême mise en œuvre dans les toutes premières applications de synthèse d'images.

À l'époque, il était inenvisageable de simuler avec un ordinateur les rebonds de lumière dans la scène, rebonds qui finissent par éclairer et colorer, même faiblement, des zones qui ne sont pas directement dans l'axe des lumières. Pour compenser, les éditeurs de logiciels ont mis en place un paramètre appelé lumière ambiante qui éclaire artificiellement un objet sur l'ensemble de sa surface afin de faire croire qu'il y a de la lumière réfléchie alors que le moteur n'en calcule aucune... Si d'ailleurs on force trop ce paramètre, l'objet perd de son volume et devient "plat" car l'éclairage ambiant masque les ombres calculées qui soulignent le relief.

La lumière ambiante a ceci de particulier : les objets sont éclairés même en l'absence de lumière... Normal, puisque c'est artificiel !

Avec la venue des éclairages globaux et indirects (HRDI, IDL), ce paramètre de lumière ambiante devient de moins en moins utile et doit même être inhibé si on utilise un rendu avec de la lumière indirecte. Les rares cas où la lumière ambiante peut encore être utile sont des rendus neutres en occlusion ambiante (voir ci après pour ce dernier terme) ou pour simuler un objet lumineux si le moteur de rendu ne sait pas faire autrement.

Occlusion ambiante

L'occlusion ambiante (ambient occlusion) est une technique qui consiste à calculer les ombres portées de l'objet sur lui-même et sur son entourage immédiat en simulant des rayons dans toutes les directions. En gros, l'occlusion ambiante simule un éclairage diffus (comme avec un ciel très couvert par exemple) en noircissant les replis des objets.

L'occlusion ambiante partage avec la lumière ambiante le fait que le mécanisme fonctionne sans aucune source de lumière. Il est d'ailleurs possible de rendre une image sans aucune source de lumière en jouant uniquement sur la lumière ambiante et l'occlusion. Cela donne un rendu très doux au niveau des ombres, très similaire à un éclairage global, l'occlusion permettant de souligner les reliefs que la lumière ambiante masque. Attention : l'occlusion ambiante ne fonctionne que sur les vrais reliefs de l'objet, pas ceux simulés (voir plus loin la simulation des reliefs).

Les textures en 3D - 1.5 Trucages et tricheries Occamb10
Statue rendue uniquement avec lumière ambiante et occlusion ambiante (pas de lumière) - Rendu sous Carrara.

L'occlusion ambiante est très utilisée en animation car les algorithmes sont très performants et rapides et l'œil est moins sensible aux approximations lors des images animées. Pour des rendus d'images fixes, un rendu avec une lumière indirecte est plus long mais donne des ombres plus naturelles et mieux distribuées.

Bump mapping

La technique du bump-mapping est une tricherie destinée à faire croire à l'œil que la surface de l'objet n'est pas uniforme alors que l'information n'existe pas au niveau du maillage : la surface du maillage est lisse !

Cette technique utilise une information supplémentaire définie en chaque point de la surface qui spécifie le déplacement que le moteur de rendu doit simuler. Cette information est une valeur définie par un niveau de gris, donc en gros une valeur entre 0 et 255 (il est possible de tricher un peu!), et qui s'applique le long de la normale (la normale est la direction perpendiculaire à la surface et dirigée vers l'extérieur de l'objet). Le moteur de rendu déplace alors artificiellement le point à la surface de l'objet, ce qui crée l'illusion d'irrégularités à la surface de l'objet.

Attention : il n'y a pas aucun déplacement réel de la surface. L'objet peut donc faire apparaître un motif à sa surface qui n'apparaît pas sur l'ombre projetée de l'objet, car le calcul de l'ombre tient compte de la géométrie et non du trucage dû au bump-map.

Enfin, bien que le nom le laisse suggérer, le bump-map ne fait pas forcément intervenir d'images (map) de texture.

Normal map

La technique appelée normal map (texture normale) est similaire à celle du bump-mapping hormis que l'information du déplacement n'est pas un niveau de gris qui s'applique uniquement dans la direction de la normale mais une direction donnée par une couleur (les trois composantes rouge-vert-bleu de la couleur donnent les trois informations spatiales de la direction). Ce qui au final donne une meilleure qualité de rendu car les déplacements sont plus fins qu'avec du bump-mapping.

Les textures en 3D - 1.5 Trucages et tricheries L1_ori10

Les normal maps sont le plus souvent des textures appliquées à l'objet et qui sont calculées sur la base d'un modèle extrêmement détaillé puis ensuite simplifié pour le rendu. Cette technique est très souvent utilisée pour les jeux vidéos car elle permet d'obtenir des détails extraordinaires lors du rendu tout en ayant un maillage très réduit et des temps de calcul rapides.

Déplacement

La technique du déplacement (displacement est similaire à celle du bump-mapping à la différence près que le déplacement est réellement produit sur la maillage. Au niveau du moteur de rendu, la face de l'objet est divisée en une multitude de micro-facettes qui sont ensuite déplacées dans la direction de la normale.

Le déplacement permet d'avoir des détails très fins avec un modèle de base qui a un maillage plus grossier. Mais si il permet de manipuler des modèles plus légers en conception, au moment du rendu, la mémoire consommée est équivalente à celle d'un modèle très détaillé.

Cette technique est plus un complément de modélisation appliqué lors du rendu puisqu'il s'agit de modifier dynamiquement le maillage au moment du calcul.

Lissage

Les moteurs de rendu ajoutent souvent une option de lissage des polygones (smooth polygons). Il ne s'agit pas d'une amélioration quelconque du maillage de l'objet mais d'une astuce qui vise à éviter les arêtes vives lorsque le maillage est trop faible. En fait le moteur de rendu, lorsqu'il tombe sur une arête du maillage, calcule la lumière sur les facettes de part et d'autre et effectue une moyenne des lumières ; ce qui lisse le rendu. Malheureusement, la silhouette est toujours la même et les calculs des ombres sont souvent catastrophiques.

Les textures en 3D - 1.5 Trucages et tricheries Lowres10
Marsu
Marsu
Pisteur de satellites
Pisteur de satellites

Messages : 344
Date d'inscription : 27/09/2011

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum