330 likes | 344 Views
This project aims to produce a realistic 3D visualization of streams, with high resolution and visual quality in real-time. It involves the construction of the water surface, wave profiles, 3D meshing, bump mapping, and optical effects. The results include videos demonstrating the implemented simulation and future work plans.
E N D
Stage de M2R IVR 2005 Frank Rochet sous la direction de Fabrice Neyret GRAVIR / IMAG-INRIA Simulation réaliste de ruisseaux en temps réel
Principe de la simulation (1) • Basée sur le stage de Natalie Praizelin « Phenomenological Simulation of Brooks » [NP01] • Approche phénoménologique • Ondes de choc (Obstacles) • Ondes de Froude
Principe de la simulation (2) • Carte du ruisseau (image 2D) • Construction géométrique des ondes de choc • Remous perturbateurs
Objectifs • Produire une visualisation 3D réaliste • Surface de l’eau • Très haute résolution possible (capillaires) • Rendu avec effets optiques • Haute résolution + qualité visuelle + temps réel => Niveaux de détail
Plan • Construction de la surface de l’eau • État de l’art • Notre approche • Profil d’onde • Maillage 3D • Bump mapping • Normales • Croisements • Effet optiques • Résultats
État de l'art : Construction de surfaces de fluides • Maillage à partir d'une grille de simulation • Maillage statique déformé à la volée par le GPU • Système de particules • Bump mapping
Construction de la surface de l’eau : Notre approche (1) • Vectoriel: résolution selon besoin • indépendant de la simulation • Haute résolution juste la oùnécessaire (plan d'eau: 1 quad) • Les bandelettes • Avec méthode classique : plein desommets, aliasing géométrique • Peu de sommets, pas d'artefacts
Construction de la surface de l’eau : Notre approche (2) • Les bandelettes : • Habillage des données vectorielles de la simulation 2D • Extrusion en bandelettes + un profil précalculé => • géométrie ou bump (+ multi-résolution)
Construction de la surface de l’eau : Notre approche (3) • Génération d'un maillage 3D à la volée • Indépendant de la résolution de la simulation • Multi-résolution • Plans rapprochés, angles rasants • Bump mapping • Profil statique • Déformation dynamique • Difficultés • Croisement des bandelettes
Profil d'onde • Profil normalisé • Normalisation en x et y • Déformable • Continuité/Raccord • Précalculé dans un tableau • Normales précalculées • Déformation => Réinterprétation • Précalculées dans un tableau
Maillage 3D (1) • Pour le rendu • Normales • Calcul optique par vertex • Génération • Le long de l'axe de la vague • Échantillonnage du profil
Affichage • Dessin du décor (lit de la rivière, obstacles) • Rendu des vagues • Rendu du plan d’eau • Problème :
Maillage 3D (2) • Profil z=f(x) normalisé • Extrusion de long de l’axe • LOD : on sous-échantillonne le long de T et B
Bump mapping (1) • Profil d'onde=>bump1D • Rendu: Environment bump mapping • Limitations (classiques) • Problème de parallaxe • Pas d'occultation
Bump mapping (2) • La bandelette se déforme:distorsion dynamique du bump
Normales • On peut adapter les normales analytiquement à la volée • Mise à l'échelle (Np est précalculée) • Transformation dans le repère T,N,B • Normalisation avec
Plan • Génération de la surface de l’eau • Principe du rendu • Génération de la surface de l'eau • Profil d’onde • Maillage 3D • Bump mapping • Croisements • Principe • Maillage 3D • Occultation • Bump mapping / Normales • Effet optiques • Résultats
Croisements : Principe • Détection : calculs hiérarchiques • Maillage 3D ou Bump mapping en combinant 2 profils 1D • Normales : calcul spécifique
Croisements : Bump / Normales • Bump : bump 2D = profil 1D x profil 1D • Notre formule de construction : • A normaliser
Plan • Génération de la surface de l’eau • Effet optiques • Optique physique • Sur GPU • Résultats
Effets optiques : optique physique • Réflexion • Réfraction • Fresnel
Effets optiques : sur GPU • Réflexion, Réfraction, Fresnel : Shaders programmables • Fresnel : • Environment mapping • Textures projectives • Caustiques • Light Scattering (volume de l'eau, impuretés) • Écume, ...
Plan • Génération de la surface de l’eau • Effet optiques • Résultats • Vidéos • Implémentation • Performance • Travaux futurs
Implémentation • View Frustum culling : Boîtes englobantes • Niveau de détails : maillage 3D, Bump, Auto
Travaux futurs • Niveaux de détails • Anti-aliasing spécifique • Amélioration des croisements d'ondes • Revisiter/améliorer la simulation • Représentation des remous perturbateurs • Effets visuels : écume, light scaterring, caustiques, tourbillons, …