• Aucun résultat trouvé

Représentation des mesostructures

4.6 Modélisation et rendu d’objets extrudés ou révolus

5.1.1 Représentation des mesostructures

La représentation des mesostructures est une problématique majeure dans le domaine du rendu 3D. En effet, les mesostructures ne peuvent ni être représentées par un maillage traditionnel, pour des problèmes de performances notamment, ni à l’aide de formules d’ombrage, à cause de la pauvreté visuelle. Il s’agit alors de trouver des solutions capables à la fois de fournir une qualité de rendu appréciable, et en même temps, de conserver l’interactivité des applications 3D.

Nous avons commencé par proposer une synchronisation temps réel entre la mise à jour de l’échelle de profondeur des mesostructures, et le calcul d’ombrage. En effet, les techniques existantes supposent que l’échelle de profondeur est fixée d’avance. Cependant, la possibilité de pouvoir varier l’échelle peut se révéler indispensable. Comme dans le cas où l’on souhaite utiliser la même carte de déplacement avec des échelles différentes, ou lorsque la profondeur doit être animée et constamment mise à jour. Afin d’intégrer cette fonctionnalité importante, nous avons proposé deux solutions : La première consiste à recalculer la normale en fonction de la nouvelle échelle et de la normale déjà calculée pour une échelle fixe. La deuxième approche consiste à stocker les dérivées partielles de la carte de profondeurs au lieu de ses normales, puis de calculer celles-ci pendant la phase de rendu en fonction de l’échelle de profondeur souhaitée. C’est cette deuxième solution que nous avons adoptée dans la suite de nos travaux, car elle est plus simple et plus intuitive.

Nous avons ensuite travaillé sur l’une des meilleures solutions apportée au problème de la représentation des mesostructures, à savoir : la technique de traçage de cônes. Cette technique permet de restituer les mesostructures d’une manière très convaincante visuellement, tout en respectant la vitesse exigée par le rendu temps réel. Toutefois, cette technique souffrait de quelques problèmes, liés notamment au temps du prétraitement des textures et à la gestion des textures non-carrées.

La méthode de traçage de cônes existe en deux versions : La première est dite conservative, tandis que la deuxième est dite relaxée. Ces deux approches adoptent des algorithmes à complexité quadratiques. Ces derniers s’avèrent très lents, particulièrement avec des textures à moyenne et grande résolution. Par conséquent, l’algorithme de traçage des cônes relaxés peut

prendre plusieurs heures pour calculer une carte de 256x256 de résolution ! Nous avons alors proposé une adaptation de l’algorithme linéaire HDDT, utilisé dans la visualisation des reliefs géographiques. L’usage de la transformation distance le rend particulièrement rapide pour le traitement des cartes de cônes conservatifs. Cependant, l’HDDT n’est pas applicable aux cartes de cônes relaxés. Nous avons alors proposé un nouvel algorithme qui se base sur le calcul des maxima locaux, en plus de la transformation distance. L’algorithme obtenu est très rapide, et permet ainsi de passer d’un temps de prétraitement de quelques heures à quelques secondes. Nous estimons que la phase de prétraitement joue un rôle très important dans l’adoption d’une technique donnée. Nous espérerons alors que les algorithmes linéaires proposés favoriseront un peu plus la technique de traçage de cônes.

Le second point est relatif à la mauvaise gestion des textures rectangulaires. Ce problème ne concerne pas seulement la technique de traçage de cône, mais également toutes les méthodes qui utilisent la distance pendant une phase de prétraitement. Comme par exemple, le traçage de sphères ou le placage d’extrusion et de révolution. Ce problème est lié directement au pipeline graphique, qui effectue d’une manière systématique, une normalisation de l’espace texture. La solution traditionnelle effectue cette même normalisation avant de procéder aux calculs de prétraitement. Cette approche permet effectivement de résoudre le problème de distorsion, mais au prix d’une perte de performance pendant la phase de rendu. Nous avons alors adopté une nouvelle approche, qui consiste à ignorer la normalisation pendant le prétraitement, et à effectuer une correction elliptique pendant la phase de rendu. Cette approche ne ralentit pas la vitesse du rendu, car elle est effectuée une seule fois pour chaque rayon de vue. Les résultats obtenus par notre méthode sont nettement meilleurs par rapport à l’approche traditionnelle.

La technique de traçage de cônes posait également une limite concernant l’angle d’ouverture des cônes. En effet, le stockage du ratio des cônes imposait un angle maximal de π/4. Nous avons alors proposé de stocker le rayon des cônes, cela permet de porter l’angle maximal à π/2, et ainsi influer positivement sur la vitesse de convergence du traçage de cônes.

Toujours concernant les mesostructures, nous avons pu introduire une nouvelle technique spécifique aux motifs extrudés ou biseautés. En effet, ce type de mesostructures est très mal géré par les techniques existantes. Nous avons utilisé pour cela une image binaire représentant le motif de base. Puis, nous avons calculé sa transformation distance Euclidienne et son gradient. Pendant la phase de rendu, nous avons utilisé la distance pour converger rapidement vers

l’intersection entre l’axe de vue et la géométrie d’extrusion, créée à partir du motif de base. Nous avons obtenu ainsi des mesostructures très nettes avec une vitesse de rendu très rapide.

5.1.2

Modélisation et rendu à base d’images

En plus du problème de la représentation des mesostructures, le rendu 3D de scènes complexes pose un autre problème. Il s’agit du goulot d’étranglement causé par le très grand nombre de primitives graphiques envoyées au processeur graphique (polygones, point 3D, normales, coordonnées de texture…). A défaut de pouvoir réduire le nombre d’objets constituant la scène, une meilleure solution serait de pouvoir créer certains d’objets en évitant les structures maillées. Cette solution, appelée modélisation et rendu à bases d’images, s’appuie sur des données stockées dans des textures, qui seront par la suite extraites pendant la phase de rendu, afin de simuler l’apparence d’un objet 3D complexe.

Partant du fait que plusieurs objets architecturaux et manufacturés sont créés, totalement ou partiellement, avec des outils d’extrusion ou de révolution, nous avons pu étendre la technique du placage de motifs extrudés afin de pouvoir créer des objets entiers, obtenus par l’extrusion ou la révolution d’une forme de base, stockée sous forme binaire dans une texture. Pour cela, Nous avons créé une boite, que nous avons appelée boite de forme, permettant d’englober la géométrie virtuelle déduite à partir de la carte de forme. La qualité des objets créés par notre méthode est comparable à une approche maillée. Le placage de révolution est même meilleur, car la silhouette obtenue est parfaitement lisse, à la différence de la silhouette anguleuse des maillages.

Documents relatifs