22
Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Embed Size (px)

Citation preview

Page 1: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Octree Textures for Painting and Rendering Textures on

Unparameterized Models

Master MMU.Bordeaux 1

Stéphanie ReccoXavier Larrodé

Page 2: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Rappel : Principales étapes du « texture  mapping »

Obtenir la couleur de l ’image•sauvegarder tableau : (reconstruire une image continue)•lisser l ’image (éviter les distorsions ex:perspective)•filtrer l ’image (enlever les H.fréquences ex: aliasing)•reéchantillonagePlaquage•appliquer l ’image sur la surface de l ’objet (coordonnées textures sur les vertices de l ’objet)•interpolation des coordonnées pour obtenir sur chaque pixels du polygone une couleur préciseImplémenté en Hardware .

Inconvenients•paramétrer à la « main »•stocker plusieurs textures 2D•problèmes de LOD , discontinuité …•manque de cohérence entre les faces•difficile sur les surfaces complexes

Texture : a un point est associé une couleur

Page 3: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Exemples:

à la main en projetant

Paramétrisation par l ’artiste 

Paramétrisation automatique 

Texture Volumique

Blinn et Newell

80’s

Catmull

Ma et Lin

Maillot

Hunter

1985

Sloan

Peachey, Perlin

Debry, Benson

1976

Page 4: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Optimisations réalisées:

•suppression fréquences locales •utilisation de quadtree (voir rappel apres)

Taille de la texture (Hunter et Cohen ) [1]

Optimiser les coordonnées de textures (J.Sloan, D.M.Weinstein,J.D.Brederson ) [3]

Page 5: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Sans optimisation

Avec optimisation

Exemples:

Page 6: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Génération automatique des surfaces UV: [4] Levy 2002

Coordonnées Textures(s,t)

Coordonnées Objet(u,v)

Page 7: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Volumetric textures: [6] (K. Perlin et D. Peachy 85)

•fonction à 3 paramètres•tableau à 3 dimensions •sculpture

•cohérence des faces•pas de discontinuité•marche bien sur les objets complexes•pas « aliasing »

Avantage

Nécessite trop d ’espace mémoire...(sauf dans le cas de la fonction…)

Page 8: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Paramétrisation automatique avec modèle 3D :(B.Levy) [2]

•correspond à un morphing 3D

•toujours des problèmes de distorsion :•beaucoup de temps •problèmes de maillage?

Page 9: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Rappel : QuadtreeStructure de donnée :• encode une image 2D en plaçant des sous partie de l ’image dans un arbre.•chaque nœud de l ’arbre dispose d ’au plus 4 fils.• généralement on partitionne l ’image en 4 quadrants ayant chacun un nœud .•et donc représentant 1/4 de l ’image et ainsi de suite pour ses fils…•on continue jusqu ’à avoir une région suffisamment simple :

•taille d ’un pixel•couleur•résolution souhaité (certaine hauteur dans l ’arbre)

Page 10: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Rappel : OctreeStructure de donnée :Un octree est un quadtree mais avec 8 fils au lieu de 4.Ce qui en fait un bon outils pour décomposer une scène en 3DOn décompose l ’octree de la même façon que le quadtree jusqu ’à obtenir une partition désirée.

Propriétés :•compression de donnée•gestion de la profondeur de l ’arbre : LOD•la résolution peut varier le long de la texture•générer facilement les coordonnées de Texture •3D-> plus de problème de discontinuité• -> de distorsion

[7] Samat 1990

Page 11: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Motivations:

•pallier aux limites de la paramétrisation : •fastifieux•difficile (surfaces implicites, subdivision, maillages détaillés)

•un model doit pouvoir etre “peint”

•plus de discontinuitées,coller à la topologie

•plusieurs niveau de détails

•mémoire utilisé comparable à texture 2D

Page 12: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

L’octree comme texture• Correspondance entre les coordonnées du modèle de texture

et celle du modèle géométrique

• Donc pas de discontinuité, la texture est aussi lisse et continue que le modèle lui-même (caractéristique du volumétrique)

• La couleur est stockées dans les feuilles de l’octree. (si nécessaire)

• D’autres données peuvent être stockées (normales…), donc cette nouvelle structure sera appelée octexture (octex)

Page 13: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Le détail dans l’arbre est donnée par le détail dans la texture

Chaque nœud contient une couleur.

Le nœud père a une couleur seulement si certain fils n’ont pas été crées (moyenne de tous ces fils).

Enfant potentiel crée par géométrie : création des fils rouges .( rouge couleur de leur père dans l’octree)

Enfant crée par la texture : création de fils pour s’approcher de la taille du point rouge.

Page 14: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Peindre la texture

La création de la texture ne peut se faire que par « peinture ».

Les détails de la texture peuvent être ajoutés au fur et à mesure comme en peinture. (niveau de détail)

On affiche seulement les parties visibles (grace au Z-buffer et au clipping)

Puis on fait correspondre les coordonnées de la texture à celle de l’objet (en étant le plus « fin » possible).

Seulement les cellules (octree) qui intersectent la surface de l ’objet sont mémorisés

Page 15: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Simplifications

Suppression des feuilles qui ont la même couleur que leur père (à près)

Donc l’octex peut diminuer en profondeur en fonction du niveau de détail demandé (fixer un ).

Attention il faut limiter la taille de l’octex en mémoire, pour cela il faut limiter les détails donc limiter les possibilités du créateur de la texture.

Page 16: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Utilisations des normales

Problème causés par les objets fins

Pour éviter cela on stocke la normale de la surface et sa couleur correspondante(8 bits) dans [A] et 6 « flags » dans [B]

Page 17: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Mémoire

La place en mémoire varie selon plusieurs critères :Le nombre d’informations stockées seuls les 8 pointeurs fils stockés (4 bits chacun)la normale de la surface(8 bits)la couleur (nombre de bit dépend de la représentation utilisée)

Amélioration possible avec l’utilisation d’un octree sans pointeur :« pointerless » [7] (Samat 1991)

Le niveau de détail demandé : plus on dessinera de détail, plus l’octex sera lourd

Page 18: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Avantages

N’importe quel modèles, pouvant être rendu, peut être texturé. Différents niveaux de détails adjacents ne donne pas de discontinuité

(interpolation) Le niveaux de détail n’est pas limité (sauf par la mémoire), on a le control total

sur la texture.

Inconvénients

L’octex peut prendre beaucoup de place en mémoire. On est obligé de peindre sa texture ( en utilisant un logiciel

spécifique) On ne résout pas le problème de paramétrisation

Page 19: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Comparaison avec les textures 2D

Selon [B] l ’octree fera la même taille qu ’une texture 2D voir inférieur

Selon [A] on aurait un surplus de taille de 33% :ou cas exceptionnel ex: une texture avec 2 couleurs : Texture 2D 3Mo Octree 50 bytesmais non révélateur...

Page 20: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Visualisation:Pas encore de Support Hardware pour Octree :logiciel de rendu Mais aussi de « 3D Paint »

[A] Debry &...

en GPL ! : thrownclear.com

Page 21: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Résultats:

Page 22: Octree Textures for Painting and Rendering Textures on Unparameterized Models Master MM U.Bordeaux 1 Stéphanie Recco Xavier Larrodé

Biblio :2 articles :

[A] Debry,Gibbs, Petty,Robins ; Painting and Rendering Textures on Uparameterized proceedings of SIGGRAPH 2002

[B] D.Benson & J.Davis : Octree Textures 2002 proceedings of SIGGRAPH 2002

[1] Hunter et Cohen 2000 : Uniform frequency images [2] B.Levy 2001 :Constrained texture mapping for polgonal meshes[3] J.Sloan, D.M.Weinstein,J.D.Brederson : Importance driven texture coordiante optimization [4] Levy 2002[6] (K. Perlin et D. Peachy 85)[7] Samat 1991

Pour plus d ’infos sur les articles consultez la bib complète des deux premiers articles...