Charger des images TGA

Publié par : Docenstoc

Document sous licence CC: http://creativecommons.org/licenses/by-nd/2.0/fr/. Charger des images TGA.


Consulter un extrait ci-dessous

Le type tga_header_t doit avoir une taille de 18 octets. Certains compilateurs utilisent par défaut un alignement différent (sur 4 octets par exemple) et qui font qu'une structure de 18 octets occupe 20 octets (multiple de 4). C'est pour cela qu'on utilise les directives préprocesseur #pragma pack pour aligner le type tga_header_t sur un octet.


Les trois variables commençant par cm sont spécifiques à la palette de couleur. cm_first_entry indique l'index de la première couleur dans la palette. Il est possible en effet que la palette soit d'une taille plus grande que nécessaire et les données de la palette peuvent ne pas se trouver au début de ce champs (au milieu par exemple). cm_length est le nombre de couleurs de la palette. Enfin, cm_size est le nombre de bits par couleur de la palette. Il peut être de 15, 16, 24 ou 32.


À partir de cette structure, nous pouvons déjà obtenir un certain nombre d'informations sur l'image et initialiser tous les champs de notre objet gl_texture_t à l'exception de texels. Nous pouvons néanmoins réserver une zone mémoire pour stocker les données pixels de l'image.


Pour le moment notre fonction ne fait pas grand-chose : ouverture du fichier en mode binaire ("rb"), lecture de l'en-tête dans header, initialisation des variables de texinfo et déplacement au début des données de l'image (rappelez-vous, il peut y avoir des informations additionnelles entre l'en-tête et les données de l'image). La fonction GetTextureInfo() est détaillée dans la section suivante.


Les images en 8 et 16 bits seront converties à la lecture en 24 bits sauf pour les images en dégradé de gris, où l'on utilise le format GL_LUMINANCE. Les autres sont au format GL_RGB ou GL_RGBA. Une image 16 bits en dégradé de gris est composé de 8 bits pour l'intensité de gris et d'un canal alpha de 8 bits.


À l'aide des variables image_type et pixel_depth de l'en-tête, nous allons devoir déterminer quelle méthode utiliser pour lire ces données. Le plus pratique je pense est de faire un choix conditionnel (switch) suivant image_type puis pour chaque cas, voir avec pixel_depth si c'est nécessaire.


Il y a quatre grand type d'images : les images en 16-24-32 bits, appelées également images en couleurs vraies, les images 8 bits avec palette, les images en dégradé de gris 8 ou 16 bits, et les images compressées (où l'on retrouve les trois premiers types à chaque fois). On va commencer par le plus simple et finir par les images compressées.



Publier sur Facebook Publier sur Twitter
Informations
Date :

08/10/2010


Langue :

Français


Pages :

16


Consultations :

5150


Note :
Téléchargement Gratuit
  • Votre email n'est pas valide

    Vous devez valider les conditions d'utilisation

    J'accepte les conditions d'utilisation

-->
Résumé

Auteur : David Henry


Tags : Tutoriel, informatique, images TGA, OpenGL, développement, code, palette de couleurs
Sur le même thème
Vues : 1575

Le dessin vectoriel avec StarOffice ou OpenOffice - Tutoriel.

Vues : 1451

Fiche technique Bureautique proposée par le CREPS Aquitaine sous licence Creative Commons...

Vues : 1053

Tutoriel informatique pour débutant : Créer des diaporamas avec OpenOffice Impression. Tutoriel réalisé par l'Espace...

Vues : 801

Cours de Bureautique

Vues : 698

Les bases de l'informatique.

Vues : 681

OpenOffice.org Draw - Tutoriel. GNU/FDL

Du même contributeur
Vues : 7783

Cours de PHP par le PHP Documentation Group. Ce manuel peut être redistribué sous licence GNU General Public License. PHP,...

Vues : 4481

Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/.

Vues : 4161

Méthodes de programmation systèmes par Emmanuel DESVIGNE. Document sous licence GNU/FDL.

Vues : 4045

Cours d'introduction aux architectures n-tier dispensé à TELECOM Bretagne. Cours sous licence Creative Commons :...

Vues : 4033

Livre Blanc : Industrialisation PHP par Alter Way. Document publié sous licence OpenContent.

Vues : 3831

Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/. Java pour le développement d'applications Web.

Commentaires
Aucun commentaire pour cette publication
Ajouter un commentaire
Envoyer
Pour envoyer la page de votre document, notez ici les emails destinataires de votre demande :
Séparez les emails par des virgules
Signaler un abus
Vous devez vous connecter ou vous inscrire pour noter un document.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour ajouter un commentaire.
Cliquez ici pour vous inscrire.
Vous devez vous connecter ou vous inscrire pour envoyer le document.
Cliquez ici pour vous inscrire.
Vous ne pouvez pas acheter de documents sur Needocs.
Vous pouvez vous référer aux conditions générales de vente et d'achat du portail pour connaître les modalités d'achat.