à partir notamment du cours Siggraph 97 et d’autres ….

Slides:



Advertisements
Présentations similaires
Aurélien Barbier LIRIS Université Claude Bernard Lyon 1 Nautibus, 8 boulevard Niels.
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Fanny CHEVALIER Guillaume CAURANT
for Painting and Rendering Textures on Unparameterized Models
RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly.
The Reyes Image Rendering Architecture
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.
Les erreurs types à ne pas commettre OpenGL Carina Portella Jean-Philippe Reynier DESS TNI – IDI Année
MODULE - METHODES POTENTIELLES Contenu du cours (par J.B. Edel & P. Sailhac) : I. Propriétés physiques des roches : densités, aimantations induites et.
Modèles empiriques d’éclairement
IMAGIS-GRAVIR / IMAG Rendu de forêts en temps-réel iMAGIS / GRAVIR Franck Sénégas DEA IVR Tuteur: Fabrice Neyret.
2. Echantillonnage et interpolation des signaux vidéo
3. Analyse et estimation du mouvement dans la vidéo
4. Descripteurs du contenu
C.

GIF Qualité et performance du rendu en infographie
Module SIG-Santé 6. Géoréférencement Marc SOURIS Florent DEMORAES
IFT3730: Infographie 3D Transformations Géométriques
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.
Gestion des événements liés à la fenêtre et aux périphériques dentrée.
Transformation linéaires
Modélisation géométrique à l’aide d’un maillage
Rendu volumique Nicolas Holzschuch iMAGIS/GRAVIR IMAG
Périodicité, Apériodicité, Universalité et autres petits problèmes…
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
IFT3730: Infographie 3D Textures
Design dun système de vision embarqué. Application:
SUJETS SPÉCIAUX EN INFORMATIQUE I
Chapitre 4 : Morphologie Mathématique
Pr. M. Talibi Alaoui Département Mathématique et Informatique
Calcul des groupes d'homologie d’objets discrets
Recherche dun même objet / scène Approches basées sur des descripteurs locaux Approches basées sur des descripteurs globaux.
Rééchantillonnage des données image
Interprétation automatique
Application de texture en OpenGL
Texture 2D en PGC++.
Techniques de points de contrôle en OpenGL : formes de Bézier
Représentation et traitement des images en OpenGL
Modélisation géométrique de base
IFT3355: Infographie Textures et aliassage
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Modélisation géométrique
Segmentation par analyse d’une image de gradient (ligne de partage des eaux) par fusion de régions dans un graphe par méthode variationnelle (Mumford.
Flocon de Von Koch Cette « courbe » s'obtient en appliquant à chaque côté d'un triangle équilatéral une transformation simple : on remplace le 1/3 central.
Intervalles de confiance pour des proportions L’inférence statistique
Projet Lancer de Rayons
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
CHAPITRE III Calcul vectoriel
Synthèse d’images 3. Texture
Les différents modèles
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 10 Textures –Définir la texture –Superposition d’une texture sur une surface plane –Superposition.
Romain Dupont encadré par J.Aubourg et P. Fuchs
Equipe synthèse d ’images et réalité virtuelle IRIT-UPS Toulouse Surfaces implicites Les différents modèles analytiques.
Architecture et Fonctionnement d’un GPU Géométrie Rendu.
LCIN4U73 Bases géométriques de l’imagerie
La proportionnalité Au cycle 3.
Synthèse d'images et Animation: Scènes naturelles
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Traitement d’images 420-D78-SW A15 Semaine 02.
PIF-6003 Sujets spéciaux en informatique I
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 10 Textures –Définir la texture –Superposition d’une texture sur une surface plane –Superposition.
Capsule pédagogique 4.1 Les agrandissements et les réductions.
Filtrage des images.
Les vues O.Legrand G.Seront. Les vues Dans Android, une ihm est composée de vues. Ces vues.
De la Terre à la carte: Projections et Géoréférencement
Transcription de la présentation:

à partir notamment du cours Siggraph 97 et d’autres …. TEXTURES M. NEVEU à partir notamment du cours Siggraph 97 et d’autres ….

TEXTURES Gain de réalisme Pas « cher » Attacher la texture à l’objet  travailler dans l’espace de l’objet

Textures 2D et 3D Analogies : papier peint (2D) , sculpture (3D) Images réelles ou virtuelles

PRINCIPE

PRINCIPE S-1 A

Application A

Projection selon un axe

Projection cylindrique

Projection sphérique

Projection par Développement

Projection par Développement

Plus généralement : Application A Application triviale de texture sur un objet paramétrique. (a) et (c) sans transformations, (b) et (d) avec la transformation l = 2.h et q = p/4 (qui implique h = V2/3).

Application A : déformation La texture déformée (b) Application sur la sphère. Déformation de la texture pour l’adapter à la paramétrisation de la surface. On utilise une texture déformée (respectant le facteur d’échelle 2 :1)

Application A : répétition avec e

Textures cycliques Utilisation d’une texture naturelle. (a) Texture de bois. (b) Sphère en bois vue sous son meilleur jour. (c) Pendant ce temps là, de l’autre côté de la sphère : discontinuité sur la frontière de recollement. (d) Paramétrisation multiple.

Surfaces complexes : application intermédiaire Vecteur réfléchi (environnement mapping) Vecteur normal à la surface (exagère les déformations) Vecteur normal à la surface intermédiaire (atténue les déformations) Centre

Composition application intermédiaire - projection

Cas des facettes on associe à chaque sommet (P0, P1, P2) d’une facette des coordonnées (Q0,Q1,Q2) dans l’espace des textures Si P = (1 - α - β).P0 + α.P1 + β.P2 alors Q = (1 - α - β).Q0 + α.Q1 + β.Q2

Cas des facettes Si on utilise une interpolation similaire à l’ombrage de Gouraud : ie si P dans l’espace de l’écran est défini par : P’ = (1 – α’ – β’).P’0 + α’.P’1+ β’.P’2 Et qu’on calcule Q = (1 – α’ – β’).Q0 + α’.Q1 + β’.Q2 alors erreur projective

Problèmes d’échelle At<Ap AtAp At>Ap Ecran Objet Texture Petite échelle Grande échelle At<Ap AtAp At>Ap

Facteur de compression d Pij : pixel Puv : polygone correspondant dans l’espace texture Ex : d = 1 : le pixel couvre tt l’espace texture d = ¼ : le pixel couvre ¼ de l’espace texture Taille image = 2N x 2N => aire d’un pixel At = 2-N x 2-N Facteur de compression d’un pixel : Si d<dt alors pixellisation Si d>dt alors aliasing

Pixellisation (uc,vc) : image du centre de Pij Dans l’image Tij, (n.uc,n.vc) est dans [i’,i’+1]x[j’,j’+1] avec i’=n.uc et j’=n.vc Interpolation bilinéaire Interpolation bicubique

Pixellisation Interpolation pour lutter contre la pixellisation. De gauche à droite sur chaque exemple :image pixellisée, interpolation bilinéaire, interpolation bicubique.

Sous échantillonnage (aliasing) Mip-Mapping : texture à plusieurs échelles On suppose l’image de la texture carrée et de taille 2N × 2N. Changement de résolution le plus simple : construire une image deux fois plus petite. A chaque pixel de l’image deux fois plus petite, on associe un bloc de 2×2 pixels sur l’image originale de valeur = moyenne des 4 pixels du bloc. La taille de l’image est 2k × 2k. A partir de l’image T N on construit un ensemble de N + 1 images T k , k de 0 à N Facteur de compression au niveau k : dk = 2-k

Mip-Mapping Ensemble des images calculées pour le mip-mapping. Stockage optimal du mipmap d’une texture couleur (de la figure précédente) en mémoire.

Mip mapping : couleur d’un pixel Pixel courant (uc,vc,d) kc = -log2(d) Voisin le plus proche Interpolation bilinéaire Interpolation trilinéaire

Technique du mip-mapping appliqué à l’échiquier bilinéaire trilinéaire

En 3D

3D Pour faire des bandes sur la théière de gauche partie entière des x( resp y ou z) de chaque point. Si impair rouge; Si pair blanc .

3D Pour faire les anneaux, on prend les coord en x et y (resp x et z, y et z) pour calculer la distance d’un point au centre de l’objet + troncature. Si impair rouge; Si pair blanc

Bruit Lattice noise : grille de bruit Valeur aléatoire pour chaque ccord entière Si coord entière : lookup table Si coord réelle : interpolation trilineaire Gradient noise : vecteurs de bruit générés pour chaque coord entière Interpolation trilinéaire

Bump Mapping/ Displacement Mapping Carte de hauteurs Modification des normales

En Opengl placer une image (la texture ) sur un objet image rectangulaire  face rectangulaire facile ! échelle ? Répétition de motif? objets à faces non rectangulaires ?

Recette créer un Objet-Texture et spécifier la texture à utiliser. choisir le mode de placage de la texture avec glTexEnv[f,i,fv,iv]() Le mode replace remplace la couleur de l'objet par celle de la texture. Le mode modulate utilise la valeur de la texture en modulant la couleur précédente de l'objet. Le mode blend mélange la couleur de la texture et la couleur précédente de l'objet. Le mode decal avec une texture RGBA utilise la composante alpha de la texture pour combiner la couleur de la texture et la couleur précédente de l'objet. autoriser le placage de textures : glEnable(GL_TEXTURE_2D) (ou GL_TEXTURE_1D). spécifier les coordonnées de texture en plus des coordonnées géométriques pour les objets à texturer.

coordonnées de texture de 0.0 à 1.0 pour chaque dimension. glTexCoord*(): pour chaque sommet un couple de coordonnées de texture Tout ou partie de la texture

Répétition de la texture en dehors de l'intervalle [0.0, 1.0] ? glTexParameter() GL_TEXTURE_WRAP_S « horizontale » GL_TEXTURE_WRAP_T « verticale » GL_CLAMP sans répétition GL_REPEAT avec répétition

Les Objets-Textures déclarer, nommer et rappeler des Objets-Textures. glGenTextures(GLsizei n, GLuint *textureNames) renvoie n numéros de textures dans textureNames[] glBindTexture(GL_TEXTURE_2D, GLuint textureNames) : la première fois qu'il est appelé avec une valeur textureNames non nulle, un nouvel Objet-Texture est crée, et le nom textureNames lui est attribué. avec une valeur textureNames déjà liée à une objet-Texture, cet objet devient actif avec la valeur zéro, OpenGL arrête d'utiliser des objets-textures et retourne à la texture par défaut, qui n'a pas de nom. glDeleteTextures(GLsizei n,const GLuint *textureNames)efface n objets-textures du tableau textureNames

Filtrage si la partie de l'image de texture appliquée sur un pixel est plus petite qu'un texel : agrandissement. si la partie de l'image de texture appliquée sur un pixel contient plus d'un texel : réduction. glTexParameter() spécifie les méthodes d'agrandissement (GL_TEXTURE_MAG_FILTER) et de réduction (GL_TEXTURE_MIN_FILTER) utilisées : GL_NEAREST choisit le texel le plus proche GL_LINEAR calcule une moyenne sur les 2x2 texels les plus proches. L'interpolation produit des images plus lisses, mais prend plus de temps à calculer.

Niveaux de détail Selon la distance à la caméra taille + ou - importante de l'image de texture utilisée (mipmapping) Soit fournir les images de texture aux différentes tailles (glTexImage2D() à différentes résolutions), ou bien gluBuild2DMipmaps(), qui calcule les images réduites. Et le Filtrage ? Avec les mipmaps, 4 autres filtres : GL_NEAREST_MIPMAP_NEAREST et GL_LINEAR_MIPMAP_NEAREST utilisent l'image mipmap la plus proche, et dans cette image, le premier choisit le texel le plus proche, et le deuxième réalise une interpolation sur les quatre texels les plus proches. GL_NEAREST_MIPMAP_LINEAR et GL_LINEAR_MIPMAP_LINEAR travaillent à partir de l'interpolation de 2 mipmaps.