IFT3730: Infographie 3D Textures

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

Unstructured Lumigraph Rendering
The Reyes Image Rendering Architecture
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Qian Cui, Stephane Wolf & Arnaud Choquart - DESS IMM /2003
Technique des Surfels Surfels: Surface Elements as Rendering Primitives SIGGRAPH 2000 H.Pfiste, J.van Baar, M.Zwicker, M.Gross.
Matthias Zwicker Hanspeter Pfister Jeroen van Baar Markus Gross
Efficient Simplification of Point-Sampled Surfaces
Synthèse d’images.
Collecte de données F. Kohler.
à partir notamment du cours Siggraph 97 et d’autres ….
Rendu de pierres taillées en temps réel Stéphane Guy Directeur de stage: Cyril Soler.
IMAGIS-GRAVIR / IMAG Rendu de forêts en temps-réel iMAGIS / GRAVIR Franck Sénégas DEA IVR Tuteur: Fabrice Neyret.
Xavier Décoret* Frédo Durand° François Sillion*
2. Echantillonnage et interpolation des signaux vidéo
3. Analyse et estimation du mouvement dans la vidéo
Exportation des données
Initiation à 3D Studio Max
12 novembre 2012 Grégory Petit
Créer une animation simple Gif avec ImageReady.
Analyse fréquentielle
IFT3730: Infographie 3D Transformations Géométriques
Concepts avancés en mathématiques et informatique appliquées
INTÉGRER DES TEXTURES © 2010 Frederic DAVID. Le but de ce traitement est dintégrer des textures afin de vieillir artificiellement une image Image traitée.
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.
Vers la dimension 3. La géométrie dans l'espace ne fait qu'étendre les concepts qui vous sont familiers en dimension 2 à la dimension 3. Le plus difficile.
Mais en mathématiques, qu'est ce qu'une ligne de niveau?
Modélisation géométrique à l’aide d’un maillage
IFT3730: Infographie 3D Illumination locale
Courbes de Bézier.
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
IFT3730 : Infographie 3D Plan de cours
IFT3355: Infographie Illumination globale
IFT3355: Infographie Visualisation
Design dun système de vision embarqué. Application:
Interprétation automatique
IFT3355: Infographie Visibilité
IFT3355: Infographie Courbes et surfaces
IFT3355: Infographie Transformations Géométriques
IFT3730: Infographie Projections
Modélisation géométrique de base
IFT3355: Infographie Textures et aliassage
Rendu réaliste en synthèse d’images.
Géométrie épipolaire (deux vues)
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
Modélisation géométrique
Les images de synthèses Duprat Anatole. Les images de synthèses consistent en la création assistée par ordinateur, d'images numériques. Il existe différentes.
Création en images de Synthèse Modèles de rendu d’une scène 3D
Chapitre 4 Réflexion et réfraction de la lumière
Programmation linéaire en nombres entiers
Un état de l’art sur les logiciels de détection de collision
Intervalles de confiance pour des proportions L’inférence statistique
Présentation générale
Projet Lancer de Rayons
La Science – 8ème année Unité 2- L’optique
CHAPITRE III Calcul vectoriel
Chapitre 3: Variables aléatoires réelles continues
Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 10 Textures –Définir la texture –Superposition d’une texture sur une surface plane –Superposition.
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 8 Rendu de surfaces –Modèles de rendu de surfaces –Illumination de la scène –Sources lumineuses –Composante.
AJOUTER UNE BORDURE BLANCHE © 2010 Frederic DAVID.
Synthèse d’images Introduction Doc. non diffusé En cours d’élaboration.
Romain Dupont encadré par J.Aubourg et P. Fuchs
LCIN4U73 Bases géométriques de l’imagerie
Plan du cours Cours 1,2 : le pipeline graphique
Visualisation des flots optiques en 3D
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Premières notions de la 3D
Transcription de la présentation:

IFT3730: Infographie 3D Textures Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal

Textures Pour simuler la complexité des détails sur une surface, on peut augmenter le nombre de polygones (micro-polygones) définissant la surface Cependant, il en résulte une augmentation de la complexité de la modélisation (taille de l’objet, coût de génération, etc.) et du rendu (visibilité, scan conversion, illumination, etc.)

Textures Peut simuler l’effet visuel des détails en apposant une texture sur la surface, tel du papier peint Texture peut être apposée sur différents objets Traitement des détails est laissé au processus de shading dans le pipeline graphique Devient aussi possible de mieux filtrer les effets des détails au niveau de qualité désiré Matériel efficace pour les polygones texturés

Textures : applications Une texture peut altérer plusieurs propriétés : couleur image digitale, motif (quadrillé), procédure (marbre) normale (bump map) géométrie (displacement map) réflexion (environment map) illumination (photon map) transparence etc.

Définitions Texture mapping technique consistant à appliquer une texture sur une surface Texture map texture apposée sur une surface Texel élément de base d’une texture, analogue au pixel d’une image

Texture mapping (1) v u Espace image pixel de l’image Espace objet projection -1 mapping Espace image pixel de l’image Espace objet projection du pixel sur la surface 3D Espace texture texels couverts par le pixel

Texture mapping (2) Pixel texel Seulement les texels visibles sont traités Il faut calculer la projection inverse du pixel en espace objet, et puis les coordonnées correspondantes en espace texture Plus complexe, mais orienté vers le traitement du pipeline conventionnel qui procède pixel par pixel Crédit : L.McMillan

Mapping (1) On va chercher à identifier une fonction (mapping) qui permet d’associer un texel à un point de la surface Souvent un mapping 1-à-1 est préférable, car cela minimise les distorsions et les pertes d’information Exemple : mapper une texture sur un rectangle

Mapping rectangle - cylindre Z Y X q h r mapping 1-à-1 car chaque point correspond à un et un seul point (u,v)

Mapping rectangle - sphère (1) Z q Y f X

Mappings (2) Souvent on veut passer d’une surface 3D arbitraire à une texture rectangulaire Une fonction de mapping est souvent complexe et souffre de propriétés indésirables distorsion des formes et des distances Texture (rectangulaire) Surface sphérique : distorsion

Mappings (3) Obtenir le mapping désiré pour une surface quelconque n’est pas une tâche facile. Il y a même des topologies qui ne permettent pas d’atteindre le but désiré.

Mappings par fonction intermédiaire Il existe plusieurs fonctions de défaut: coordonnées cylindriques coordonnées sphériques coordonnées de projection (linéaire) La position de l’objet par rapport à la fonction intermédiaire définit le mapping et donc l’apparence de la texture sur l’objet

Mappings par fonction intermédiaire (2) Exemple: Coordonnées sphériques Placer l’objet 3D au centre de la sphère Associer une coordonnée à chaque point (x,y,z) de l’objet 3D Trouver la valeur (u,v) associée à Associer la couleur T(u,v) au point (x,y,z) Texture (x,y,z) Objet 3D quelconque

Mappings par fonction intermédiaire (3) cube map encodage cube map en 3D wikipedia

Problèmes avec le mapping 3D à 2D Définition de la fonction de mapping Conservation des distances entre les éléments de la texture Effet de bordure de la texture lorsqu’elle doit être répétée Donne une impression de papier peint au lieu de matériel 3D

Distorsion due au type de projection Mapping par projection (linéaire) à partir d'en haut

Mapping en cartographie Miller, wikipedia

Mapping en cartographie Goode Homolosine, wikipedia Eckert IV, wikipedia HEALPix, wikipedia

Impression de papier peint

Effet de bordure

Synthèse de texture Quilting, Efros

Classes de textures wikipedia

Filtrage Ne traite pas de point-à-point mais plutôt d’aire-à-aire, ce qui crée des problèmes d’aliassing Lorsque la taille des pixels (une fois projetés dans le domaine texture) est différente de la taille des voxels, il y a 3 cas de figure possibles : Peu de problème : 1 pixel 1 texel Sur-échantillonnage : 1 pixel << 1 texel Sous-échantillonnage : 1 pixel >> 1 texel

Filtrage (exemple sur-échantillonnage) Texture Texture projetée sur un rectangle Si la caméra est placée trop près du plan, 1 pixel << 1 texel

Filtrage (sur-échantillonnage) Des solutions? Il n’y a pas grand chose à faire puisqu’on a atteint la limite de la texture. Elle ne peut nous donner plus que ce qui est inscrit dans ses texels! Le filtrage de la texture peut légèrement masquer cet artéfact… Avoir une deuxième texture de résolution plus élevée…

Filtrage (exemple sur-échantillonnage) Sans filtrage de la texture Avec filtrage de la texture

Filtrage (exemple sous-échantillonnage) Artéfacts : Moiré Texture Si on approche la caméra du plan… Image résultante 1 pixel >> 1 texel

Filtrage (sous-échantillonnage) L’aliassing (Moiré) apparaît dans les textures lorsqu’un échantillonnage insuffisant est utilisé Pour lutter contre ce problème, il faut implémenter une méthode d’anti-aliassing Lorsque plusieurs texels se projettent dans un même pixel, il faut filtrer leur contribution Si chaque texel contribue également au pixel, peu importe son emplacement dans le pixel, il s’agit alors de faire la moyenne des contributions (filtre boîte)

Filtrage (sous-échantillonnage) v P’ Pixel P projection -1 mapping -1 Centre du pixel Objet 3D u Image Texture 2D P’ est la projection du pixel P sur la texture 2D L’anti-aliassing consiste à associer au pixel P non pas seulement la couleur du centre de P’, mais la moyenne de tous les texels couverts par P’

Supersampling (anti-aliassing) On peut échantillonner régulièrement dans un pixel et pondéré également (filtre boîte) les couleurs des échantillons Un supersampling de 4x4 est souvent considéré comme étant un bon compromis qualité vs. temps de calcul 1 échantillon/pixel 4 échantillons/pixel 25 échantillons/pixel

Échantillonnage adaptatif Les nombres minimum et maximum de niveaux de subdivision sont indiqués sous chaque image min 1 max 1 max 2 max 4 min 2

Perturbations stochastiques Au lieu d’échantillonner régulièrement, on peut perturber aléatoirement (jitter) la position de chaque échantillon On introduit alors du bruit dans l’image qui remplace en partie l’aliassage Pas de supersampling supersampling 3x3 supersampling 3x3 + Perturbations 1 pixel

Filtrage de pixels adjacents Si la contribution ne dépend pas de la position à l’intérieur du pixel, il s’agit d’une somme non-pondérée Au lieu de faire la moyenne des couleurs des échantillons, on peut leur donner un poids différent en fonction de leur distance du centre du pixel filtre linéaire à base circulaire

MIP mapping (multum in parvo) Les éléments de la texture sont préfiltrés (moyennés) dans une pyramide La texture résulte en 4/3 de sa taille originale Lorsque plusieurs texels projettent dans un pixel, le niveau le plus approprié dans la pyramide est choisi Crédit : L.McMillan

Textures 3D (solid textures) Par défaut, chaque point 3D peut correspondre à un point dans la texture Textures table 3D de valeurs discrètes fonction 3D (procédurale) définit une valeur UVW de texture dans l’espace XYZ Surface apparaît sculptée dans un matériel marbre, bois, etc. Un problème important de ces textures 3D réside dans son filtrage efficace

Textures 3D Crédit: Ken Perlin

Textures 3D [McGuffin 03] Visualisation de modèles 3D multicouches

Autres applications des textures Jusqu’à présent on a vu que les textures pouvaient servir à modifier la couleur des objets Maintenant, voyons ce que nous pouvons faire de plus… Simuler la réflexion miroir : environment maps Modifier l’orientation des normales : bump maps Modifier la position des sommets 3D d’un modèle : displacement maps

Texture d’environnement (1) Une surface miroir réfléchit son environnement, mais le lancer de rayons est trop coûteux pour espérer un rendu en temps réel On crée une image de la scène (sans l’objet réfléchissant) qu’on projette ensuite sur un objet intermédiaire cube (six projections), sphère, cylindre, etc. La direction réfléchie sur la surface est utilisée comme index dans les images de la scène

Texture d’environnement (2) mapping de la photo sur une sphère 3D + photo «fish eye» mapping par fonction intermédiaire entre le teapot et la sphère 3D Credit:Hakura

Texture d’environnement (3) Terminator 2

Texture d’environnement (4) Aucune réflexion multiple ou réflexion de l’objet sur lui-même Puisque l’image de l’environnement est formée à partir d’un point de vue arbitraire, les objets près de l’objet miroir seront incorrectement déformés dans l’image finale Fonctionne bien lorsque l’objet réfléchissant est petit et près du centre de la texture

Bump map (1) La normale à la surface influence grandement l’apparence de la surface lors du calcul d’illumination

Bump map (2) Soit une fonction d(u,v) qui perturbe légèrement un point à la surface le long de sa normale N N’

Bump map (exemple) Texture bump map Cylindre rendu cylindre Crédit : L.McMillan

Bump map (exemple) Crédit : Jim Blinn

Displacement Map Même idée que le bump map, mais on déplace physiquement les sommets au lieu de juste perturber leur normale + = Crédit : L.McMillan

En résumé Mapping texel/pixel et pixel/texel Mapping cylindrique, sphérique et de projection Texture 3D Aliassage et filtrage de texture 2D Mip mapping Texture d’environnement Bump mapping Displacement mapping