Try   HackMD

ISIM - Les textures

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
      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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Pour un personnage (ou objet complexe), on ne trouvera pas de fonction intermediaire.

Association texture

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Possible d'avoir un decoupage plus "intelligent".

  • Conformal map

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Origine du Bitmap

  • Image (photo)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

Textures repetitives

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

  • Motif repetitif
  • On prend un motif qu'on duplique
Avantages Inconvenients
Economise de l'espace Le motif peut devenir visible

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Pour reduire les inconvenients:

  • Prendre des patches plus petits
  • Prendre des motifs differents

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Ce n'est qu'une facon de repousser le probleme

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 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)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Textures procedurales

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

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

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Bruit de Perlin

Afin de donner une impression d'organisation, seul un sous enesemble de points est genere aleatoirement. Le reste des points es calcule par interpolation.

Ajout d'autres frequences:

  • bruit(i,x)=p(i1).bruit(2(i1),x)
  • Parametres: pas, persistance et nombre d'octaves
  • Resultat:
    • Somme de l'ensemble des
      bruit(i,x)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • 1 octave
    p=0.5
  • On interpole (interpolation lineaire)
  • On prend un autre echantillonage et on interpole avec cette autre matrice
    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
      noir

  • ciel/nuages
    • En dessous d'un certain seuil: Interpolation du gris bleu
      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|sin(2πv)|
    • 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

::info
On peut s'enfermer dans un objet pour avoir notre 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
      90o
      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 ?

Si on trace les contour, on voit bien qu'ils sont lissent et qu'ils ne vont pas dans les creux de la mure.

Pour aller plus loin:

  • Parallax mapping
  • Relief mapping

Ameliorations

La texture permet d'ajouter du realisme et evite de modeliser les details d'une surface. Toutefois le resultat est un peu plat.

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