CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Différences entre buffer et texture

Livetrack
Livetrack
Niveau 10
09 mai 2014 à 13:27:16

Bonjour à tous. :)

Un tutoriel portant sur la programmation avec DirectX ou OpenGL fait référence aux notions de textures et de buffers.
Les deux seraient des tableaux de données. Une texture n'est ainsi pas obligatoirement une image. Je n'arrive pas à saisir les spécificités de chacun. :-(

Qu'est-ce qu'un buffer et une texture ? Merci !

Lapintade
Lapintade
Niveau 30
09 mai 2014 à 15:25:18

Salut

Globalement ce sont des termes differents pour decrire des données qui sont en rapport avec l'affichage graphique.

Dans une texture il y a generalement des données "images". Des pixels avec des couleurs. Ce sont les textures qui sont utilisées pour l'affichage des objets 2D ou 3D dans un jeu. Cependant aujourd'hui, le hardware est devenu tellement puissant, qu'on peut mettre un peu tout et n'importe dans une texture. On peut y mettre des vecteurs par exemple (comme dans les normales maps).
Tu dessine un vaisseau, tu crée une image, qui sera chargée en texture. Tu affiche autant de fois ta texture dans l'écran.

Le "buffer" est plus lié à l'écran. Par exemple pour la profondeur, il y a un "buffer" (Z-Buffer). Ce sont des pixels, mais le format c'est pas aussi simple que pour les textures, et surtout ca concerne tout l'écran.

Voila en gros.

chiagedeluna
chiagedeluna
Niveau 10
09 mai 2014 à 17:20:09

techniquement parlant, un buffer est un tableau de donnée, et une texture est un tableau de donnée, tout comme le Zbuffer, l'index buffer, le vertex buffer, les frame buffer.. C'est la même chose. Après tout la programmation graphique ça se résume a une série de programmes prenant en paramètre une série de donnée pour déterminer la couleur finale de chaque pixels. Pour les normal map, ce sont des formats de texture standards mais au lieu de se servir des données comme d'une couleur a appliquer, on s'en sert effectivement comme d'un vecteur. C'est l'utilisation des différent types de buffers qui fait une différence, il faut simplement maîtriser ce qu'on fait.

Livetrack
Livetrack
Niveau 10
09 mai 2014 à 18:42:12

Les textures seraient ainsi des tableaux de données qui consterneraient la "scène" (les modèles présents sur scène) tandis que les buffers seraient des tableaux sollicités lors de l'affichage ?
Il y a avoir également des liens entre les deux ? Par exemple, on a une normal map, avec des vecteurs comme données pour donner l'illusion d'un relief. Il doit y avoir un buffer (peut être le frame buffer ou le back buffer ou un autre) qui va réaliser cette illusion d'un relief, non ?

chiagedeluna
chiagedeluna
Niveau 10
09 mai 2014 à 20:24:28

euh.. Pas vraiment. Un modèle 3D, c'est un tableau de point, un tableau d'index indiquant quels points constituent quels triangles, et si il a une texture, il contient donc un tableau de pixel et si il a une normal map, il contient également un autre tableau de pixel de couleur a peu près bleuté qui sera utilisé plus tard. A l'affichage, la carte graphique prend le tableau de point et le tableau d'index pour faire la géométrie et calculer sa forme a l'écran. Puis ensuite elle lit dans le tableau de pixel de la texture quelle couleur donner au modèle selon les informations de position préalablement calculées avec le tableau de point et d'index, et si elle est assez intelligente, elle va aussi lire le tableau de pixel de la normal map pour calculer l'éclairage et assombrir ou illuminer la couleur précédemment tirée du tableau de pixel correspondant a la texture.

Ensuite, le tout est écrit dans le tableau de pixel correspond a l'écran et donc ton modèle s'affiche.

Ce texte peut se lire en remplaçant "tableau" par "buffer".

Livetrack
Livetrack
Niveau 10
10 mai 2014 à 08:50:48

Merci pour ces explications, c'est tout de suite plus clair. Les buffers sont des tableaux de données qui vont du CPU vers le GPU. Cette dernière les lira pour afficher mon modèle sur l'écran.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment