Les objets manufacturés (meubles, machines, constructions)
présentent beaucoup d'arêtes vives.
Cependant ces arêtes sont rarement totalement aigues,
et présentent un léger arrondi.
Il se trouve que cet arrondi `attrape' facilement la lumière
(puisqu'il comporte une large gamme de normales),
ce qu'ont bien compris les illustrateurs, qui détourent
les objets pour les rendre plus esthétiques ou plus compréhensibles
(curieusement ces techniques sont classées dans le
Non-Photorealistic Rendering (NPR)).
Ne pas mettre d'arrondi dans les scènes de synthèse très géométriques
(e.g. intérieurs) conduit facilement à des images illisibles (et non réalistes!),
par manque de frontières
(entre deux murs éclairés sous un angle proche, entre marches d'escalier...).
Quand on veut vraiment prendre en compte ces arêtes arrondis,
on le fait classiquement au niveau géométrique, en introduisant
des miliers de polygones, qui ne représenteront pourtant que quelques pixels
dans l'image finale.
Dans ce travail, je propose un shader d'arêtes arrondies,
permettant de tracer un simple trait sur le lieux de l'arête,
dont l'épaisseur dépend de la largeur apparente de l'arrondi,
et dont le couleur prend en compte l'intégration analytique
de la réflectance avec la normale variant entre les deux angles limite.
Publication: RR à venir.
NB: ce travail n'a pas été publié, car j'ai découvert après coup
que l'idée avait déjà été proposée en 1989 par Saito, Shinya et Takahashi:
Highlighting Rounded Edges, CGI'89, Saito, Shinya et Takahashi
Precise Rendering Method for Edge Highlighting, CGI'91, Tanaka, Tokiichiro et Takahashi
La résultante de l'interaction entre un matériau localement complexe
(détails, diffusion volumiques) et la lumière
peut parfois être obtenue analytiquement,
surtout si l'on dispose d'une connaissance a priori forte sur
la répartition de la matière.
Un shader correspond à la formule analytique obtenue.
À gauche, je montre un modèle pseudo-volumique, type nuage.
À droite, il s'agit d'une tentative de distinguer la "forme spatiale"
(celle que l'on peut voir) de la "forme réflective" (celle qui compte
pour les reflets). L'idée est de construire pour la seconde
une surface convexe ayant la même distribution de normales que
la première. Dans l'exemple des aiguilles de pin,
cela permet de calculer à moindre coût la luminosité globale
renvoyée par une touffe d'aiguilles.
Publication:
Ce modèle précis n'à pas été poursuivi,
par contre nous avons travaillé à l'intégration analytique
complète de formes complexes, et en particulier les touffes d'aiguilles:
Multiscale Shaders for the Efficient Realistic Rendering of Pine-Trees,
Graphics Interface'00, 2000.
La construction des textures (contenu, plaquage) comporte encore
de nombreux problèmes ouverts (cf ma
page textures).
Parmi eux figure la délimitation des zones texturées:
les textures étant controlées par des valeurs aux noeuds du maillage,
une texture ne peut a priori s'arrêter que le long des arètes.
A ce jour, les deux méthodes courantes consistent alors:
- soit à découper le maillage le long de la bordure souhaitée
de la texture, ce qui crée inutilement de la géométrie en réponse
à un problème surfacique,
- soit à utiliser une texture de contrôle dont le contenu indique
quelle texture s'applique à chaque point de la surface,
ce qui consomme beaucoup de mémoire, et oblige à définir
le mapping même hors des zones nécessaires (ce qui peut être parfois difficile).
Dans ce travail, je propose une structure géométrique 2D, liée aux faces,
permettant de décrire la zone d'application des textures
d'une manière totalement indépendante du maillage 3D.
A noter que des travaux plus récents, sur le
mapping sans distortion ni répétition par motifs triangulaires,
offrent également une solution partielle à ce problème,
en permettant l'usage de motifs de transition entre textures
(e.g. bord de forêt, bord de mer).
( video 1 )
( video 2 , 3 )
Durant ma thèse,
j'ai eu l'occasion d'animer et de participer aux travaux du projet SYNTIM concernant la
Réalité Enrichie par Synthèse.
La RES permet d'incruster de manière 3D-cohérente une animation de synthèse dans une video,
en associant analyse et synthèse d'images:
on modélise les objets réels que l'on souhaite reconnaitre (afin d'interagir avec), puis on les repères et recales dans la séquence vidéo.
On incorpore alors dans la scène synthétique l'objet recalé,
soit en noir, soit en blanc, afin d'obtenir la partie synthétique masquée
et ombrée par l'objet réel (1), et l'ombrage et masquage de l'objet réel par la
partie synthétique (2).
Il suffit alors de multiplier les images de la séquence vidéo par la valeur de l'ombrage (2), puis de les composer avec la partie synthétique masquée (1).
On peut également ajouter des propriétés de réflexions aux surfaces réelles.