Home ISIM: Les textures
Post
Cancel

ISIM: Les textures

Lien de la note Hackmd

Les textures

  • Objectifs
    • Ajouter du realisme
    • Simplifier la modelisation des secenes
    • Simuler l’eclairage
  • Applications
    • Algorithmes temps reels
    • Algorithmes photorealistes
  • Types:
    • Textures procedurales
    • Textures plaquees
    • Effet de volume
    • Eclairage

Les couleurs

  • Associer une couleur par face
    • Effet de volume donee par l’illumination
      • Gouraud
      • Phong
  • Associer une couleur par sommet
    • interpolation
  • Indiquer les proprietes des materiaux
    • diffusion
    • specularite

Les textures plaquees

  • “Mapper” un bitmap sur un polygone
    • Realise
    • Consommation memoire elevee
  • Comment plaquer une texture?
    • Sur un plan $\to$ facile
    • Sur une surface quelconque >
      • Trouver une fonction
      • Plaquer la texture suivant un projection simple
        • Plan
        • Sphere
        • Cylindre
        • Cube
      • Conformal map
  • Projection:
    • planar
    • cylindrical
    • spherical
    • triplanar

  • On cree un plan qu’on projette sur le theiere
  • On cree un cyclindre qu’on projette sur le theiere
  • On cree une sphere qu’on projette sur le theiere

Projections:

  • triplanar
    • On le projette en fonction de la normale du point qu’on considere
    • Permet de dissocier les textures en fonction de l’orientation

Association texture $\leftrightarrow$ model

  • On decoupe soi-meme sont modele
  • Voir quel est le mapping entre le modele decoupe et aplatit et le bitmap qu’on veut mapper

Possible d’avoir un decoupage plus “intelligent”.

  • Conformal map

Origine du Bitmap

  • Image (photo)

Est-ce qu’on peut faire des photos ou des dessins ? On peut peindre “comme un artiste” les surfaces 3D

  • Resultat d’un rendu (render to texture)
    • Surfaces reflechissantes

Ca va ? Pas trop le mal de mer maintenant ?

Dans ce cas on map 6 textures sur la sphere

  • Change quand on bouge la camera
  • Pour le rendu final on a 6 rendus intermediaires

“Mapper” un bitmap sur un polygone

  • Interpolation dependante du $z$
  • Repetition de la texture si non compris entre 0 et 1

Textures repetitives

Qu’est-ce qui se passe quand on veut faire un mur de brique ?

  • Motif repetitif
  • On prend un motif qu’on duplique
AvantagesInconvenients
Economise de l’espaceLe motif peut devenir visible

Pour reduire les inconvenients:

  • Prendre des patches plus petits
  • Prendre des motifs differents

Mipmap

Si on a notre mur qu’on voit de loin, plein d’artefacts apparaissent

  • Le but du MIP est d’eviter la pixelisation lorsqu’on s’eloigne d’une texture
    • Le niveau de detail des textures est adapte a la distance de l’objet
    • Souvant supporte nativement par les moteurs graphiques

  • Lissage
    • Mip mapping: niveau de detail (LOD)
    • Point sampling: texel le plus proche
    • Bilineaire: interpolation sur 4 texels
    • Trilineaire: interpolation inter-LOD
    • Anisotropique: prise en compte des effets d’angle (32 texels)

Textures procedurales

  • Texture generee
    • Avantages:
      • Economie de memoire
      • Pas de repetition dans le motif
      • Possibilite d’avoir une texture 3D
  • Effets classique:
    • Damier,
    • Rayures,

Je vous ai fait une espece de bronze ou je ne-sais-quoi

  • Generation de bruit pour simuler l’aspect de certains elements
    • Bruit structure

Bruit de Perlin

Ajout d’autres frequences:

  • $bruit(i,x)=p^{(i-1)}.bruit(2^{(i-1)},x)$
  • Parametres: pas, persistance et nombre d’octaves
  • Resultat:
    • Somme de l’ensemble des $bruit(i,x)$

  • 1 octave $p=0.5$
  • On interpole (interpolation lineaire)
  • On prend un autre echantillonage et on interpole avec cette autre matrice $\Leftrightarrow$ 2 tirages aleatoires donc 2$^{eme}$ octave

  • 2 octaves $p=0.5$

  • 5 octaves $p=0.5$

  • 5 octaves $p=0.8$

  • 5 octaves $p=0.2$

Applications:

  • fumee
    • Interpolation du balanc $\to$ noir

  • cieluages
    • En dessous d’un certain seuil: Interpolation du gris bleu $\to$ bleu
    • Au dessus d’un certain seuil: bleu

  • bois
    • En dessous d’un certain seuil, marron fonce
    • En dessous d’un certain seuil, marron clair
    • Entre les deux, interpolation

  • psycho…

A force de jouer avec les couleurs j’ai un peu craque

  • marbre
    • $n = 1-\sqrt{\vert\sin(2\pi v)\vert}$
    • Interpolation linaire du gris vers le noir en fonction de $n$

  • Generation possible en 3D

Usage des textures

Billboard

  • Element toujours face a l’observateur sur lequel est plaque une texture
  • Permet de simuler un objet/phenomene complique simplement a l’aide d’une texture:
    • Arbre
    • Feu

Environnement

  • Equirectangular
    • Une seule texture pour l’ensemble de l’environnement
  • Cubemap
    • Skybox
    • On enferme notre personnage dans un cube
    • Meme resolution pour tous les points
    • Mettre 6 cameras qui prennent $90^o$ dans une direction

In-theiere stellar

Texture particuliere

Objets transparents

  • Rendu type raytracing
    • Loi de Snell-Descartes
  • Rendu par projection openGL
    • Pas de deviation de rayon
    • Rend tous les objets qui ne sont pas transparents
    • On verrouille le z-buffer en ecriture avant de dessiner tous les objets transparents
    • Objets transparents: melanger la couleur de ce qui a deja ete dessine avec l’objet transparent

Textures

Effet de volume

  • Perturbation des normales
    • Bump mapping (Blinn)
    • Permet de faire apparaitre des variation sur la surface

Realise avec blender (C’est une mure en haut a droite)

Comment voir que c’est bien juste la perturbation de normale ?

Pour aller plus loin:

  • Parallax mapping
  • Relief mapping

Ameliorations

Initialement, on plaque un bitmap

  • Ne pas considerer seulement le bitmap
  • Ajout d’informations:

1. Deformations locales

  • Height map
    • Carte d’elevation
    • Normales deduites en faisant une derivee partielle
  • Normal map
  • Diminue le niveau de details (polygones)
  • Stocke dans une image

Bitmap:

Bitmap + bump mapping:

  • Tache d’illumination a disparue

2. Proprietes locales

Ex: specularite

Bitmap + bump mapping + modifications speculaires

Conclusions

  • Participe au realimse
  • Permet la simplification des modeles
  • Permet de simuler certains objets/phenomenes difficiles
This post is licensed under CC BY 4.0 by the author.