280 likes | 377 Views
Rendu de forêts en temps-réel. Franck Sénégas DEA IVR Tuteur: Fabrice Neyret. iMAGIS / GRAVIR. Plan. Présentation des texels Présentation du hardware Contribution Conclusion. Présentation des texels. Approches type ray-tracing [KK89],[Shi 92 ],[Nom95],[Ney95],[CMDH97]
E N D
Rendu de forêts en temps-réel Franck Sénégas DEA IVR Tuteur: Fabrice Neyret iMAGIS / GRAVIR
Plan • Présentation des texels • Présentation du hardware • Contribution • Conclusion
Présentation des texels • Approches type ray-tracing [KK89],[Shi92],[Nom95],[Ney95],[CMDH97] • Approches temps-réel [MN98b]
Approches de type ray-tracing • Le texel: • Le rendu des texels
Placage de texels sur une surface Texels Volume de reference
Approches temps-réel • Idée : Découper le volume en tranches [LL94] • [MN98b] adapte l’idée aux texels • Rendu : back to front
Résultat de [MN98] • 100 texels de 64 tranches (Complexité équivalente : 13 M polygones)
Bilan des texels • Approches ray-tracing: • rendu de bonne qualité • mais temps de calcul trop grand • Approches temps-réel: • pas de réeclairement dynamique [MN98b] • Rendu volumique : [WE98] pas de couleur
Possibilités du hardware • Présentation du hardware ‘classique’ • Présentation du hardware nouvelle génération (GeForce-*,Radeon-*)
Hardware classiquepipeline OpenGL standard • Geometric engine : • transformations de repères • calculs d’éclairage • clipping • conversion des polygones en 2D • Raster Engine : • remplissage les polygones en 2D • interpolation des valeurs de couleurs • éclairage • textures
Hardware nouvelle génération • Multi-texture: • plusieurs textures par polygone simultanément • Vertex shaders: • extension des possibilités du géométric engine • Pixel shaders: • Microprogramme dans le raster engine, • opérations vectorielles (mais langage et place limitées), • Calcul de la couleur finale • Cube maps: • tables d’indirections 3D Nouveaux outils utilisables pour les texels
Contributions • Texels illuminés en temps-réel • Technique de filtrage de textures • Technique de génération de texels
Texels illuminés en temps réel • Idée: • Deux textures au lieu d’une seule par tranche • Pixels shaders pour le calcul d’éclairage • Représentation: • Une texture de normales et une texture de couleur par tranche • Un repère par sommet de tranches
Représentation Vecteur lumière à l’infini Un repère par sommet de tranches
Calcul de l’éclairage • Modèle d’illumination diffuse • L et N sont unitaires • Résultat:
Brouillard • Même représentation que précédemment • Modèle d’éclairage: • Shader deux fois plus cher en remplissage
Filtrage des textures • Problème • Techniques d’interpolation de l ’opacité: calcul à base de couleurs indéfinies
Filtrage • Pour les couleurs • Trouver les pixels ayant une opacité nulle, • Leur donner la couleur de la moyenne des voisins • Pour les normales • Trouver les pixels ayant une opacité nulle, • Moyenne des normales voisines, renormalisée
Génération des texels • Principe: échantillonner le volume par tranches • Idée: utiliser le hardware pour le faire • [MN98b]: tranche = rendu des polygones situés entre deux plans de clipping • Nous: tranche = rendu des polygones ayant leur barycentre entre deux plans de clipping
Rendu de forêts • Principe: • Rendre le terrain • Pyramide de visée : suppression des texels en dehors • Trier les arbres du plus éloigné vers le plus proche
Résultats • Machine de test: • BiPentium3 800MHz, 768 Mo RAM, Nvidia Quadro 2 pro 64Mo DDR, sous Linux • 100-150 arbres: temps-réel (24 fps) • 500 arbres: entre 1 et 8 fps selon le niveau de détail
Analyse des performances • Géométrie: • Un arbre: (100.000 polygones) 27fps • Texels: • Scène de 200 instances : 17fps complexité visuelle de 20.000.000 de polygones Complexité calculatoire Complexité apparente • Goulot d’étranglement : le bus • Perf indépendantes du shader, donc du fillrate
Bilan • Un modèle de texels temps-réel avec shading • Représentation géométrique complète • Le nouveau modèle de construction (pas de feuilles coupées) • Utilisation du nouveau hardware • Une approche prometteuse pour le temps-réel
Travaux futurs • Ombres: • Rendu de l’auto-ombrage • Placage des ombres sur le sol (shadow map) • Filtrage: • Aliasing • Niveaux de détail
Bilan Hardware • Plus de possibilités notamment au niveau du calcul par pixel • Des extensions utilisables pour les texels