- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/Material/Texture.hpp

Go to the documentation of this file.

    00001 #ifndef MATERIAL_TEXTURE_HPP
    00002 #define MATERIAL_TEXTURE_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 #include "Material.hpp"
    00008 #include "Image/Image.hpp"
    00009
    00010 namespace USpeedGameEngine
    00011 {
    00012
    00013 class Material::Texture
    00014 {
    00015     /****************
    00016     * Les attributs *
    00017     ****************/
    00018     public :
    00019         unsigned int textureID;
    00020         char *data;
    00021         unsigned long int width;
    00022         unsigned long int height;
    00023         USGE_TextureMode mode;
    00024         bool prepared;
    00025         bool is4444;
    00026     protected :
    00027     private :
    00028
    00029     /***************
    00030     * Les méthodes *
    00031     ***************/
    00032     public :
    00033         // Constructeur par défaut
    00034         Texture();
    00035         // Destructeur par défaut
    00036         ~Texture();
    00037
    00038         // Permet de savoir si la texture est en mode 16 bits (sinon elle est en 32 bits).
    00039         bool is16Bits();
    00040         // Permet d'effacer les données et ré-initialiser les variables.
    00041         void clear();
    00042         // Chargement de la texture depuis l'image spécifiée (par transfert)
    00043         bool fromImage(Image *image);
    00044         // Chargement de la texture depuis l'image du fichier spécifié.
    00045         bool fromImageFile(char *filename, USGE_Image type);
    00046         // Chargement de la texture depuis l'image du fichier en mémoire spécifié.
    00047         bool fromImageBuffer(unsigned char *data, unsigned long int bufferLength, USGE_Image type);
    00048         // Chargement de la texture depuis l'image spécifiée (par transfert)
    00049         bool fromPointer(char *ptrData, unsigned long int width, unsigned long int height);
    00050         // Charge les données de texture pour l'affichage matériel
    00051         void loadToGL();
    00052         void loadToGL(bool mode16Bits);
    00053         // La taille de l'image actuelle
    00054         unsigned long int getWidth();
    00055         unsigned long int getHeight();
    00056         // L'identifiant de texture sous OpenGL (0 sur PSP)
    00057         unsigned int getTextureID();
    00058         // Retourne le pointeur des données de l'image.
    00059         char *getData();
    00060
    00062         // Les modes de texturage //
    00064         // Permet de choisir le mode d'affichage de la texture : NEAREST par défaut.
    00065         void setMode(USGE_TextureMode pMode);
    00066         // Retourne le mode d'affichage de la texture actuellement choisi.
    00067         USGE_TextureMode getMode();
    00068         // Permet de choisir le mode d'affichage par défaut de la texture.
    00069         static void setDefaultMode(USGE_TextureMode pMode);
    00070         // Retourne le mode d'affichage par défaut de la texture actuellement choisi.
    00071         static USGE_TextureMode getDefaultMode();
    00072
    00073     protected :
    00074     private :
    00075 };
    00076
    00077 }        // Fin "namespace USpeedGameEngine"
    00078
    00079 #endif