Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

Texture Class Reference

Cette classe permet de gerer des textures en les chargeant a partir d'images sur le disque ou de tableaux de donnees, puis de les passer a la carte graphique. More...

#include <Texture.h>

List of all members.

Public Member Functions

 Texture (char *filename, bool preload, int useTexId=-1, int side=0)
 Constructeur d'une texture a partir d'un fichier.
 Texture (unsigned char *data, unsigned int w, unsigned int h, bool alpha, bool intensity, bool preload)
 Charge une texture a partir d'un tableau de valeurs.
 Texture (unsigned int w, unsigned int h, GLuint toTexId, unsigned int side)
 Creer une texture a partir du framebuffer OpenGL.
unsigned int getSizeX ()
 Recupere la largeur de la texture.
unsigned int getSizeY ()
 Recupere la largeur de la texture.
GLuint getTexID ()
 Recupere l'ID de la texture.
bool getHasAlpha ()
 Presence d'une couche alpha.
void load ()
 Charge la texture dans la carte graphique.
void unload ()
 Decharge la texture de la carte graphique.

Private Member Functions

int loadJpg (char *filename, bool preload, int useTexId=-1, int side=0)
 Chargement d'un fichier JPeG depuis le disque dur.
int loadPng (char *filename, bool preload, int useTexId=-1, int side=0)

Private Attributes

char * textureName
 Nom du fichier de texture.
unsigned char * texData
 Tableau des donnees de la texture.
bool hasAlpha
 Presence d'une couche alpha.
bool isIntensity
 Determine la nature de la texture.
unsigned int width
 Largeur de la texture.
unsigned int height
 Hauteur de la texture.
GLuint texID
 ID de la texture.
bool bound
 Indique si la texture est chargee dans la carte graphique.


Detailed Description

Cette classe permet de gerer des textures en les chargeant a partir d'images sur le disque ou de tableaux de donnees, puis de les passer a la carte graphique.

Nous gerons plusieurs formats de fichiers differents. Cette classe possede donc des methodes d'acces aux images JPeG ainsi que PNG.

Outre des images stockees sur le disque dur, nous pouvons avoir besoin de generer des textures en cours d'execution ou lors de l'initialisation du programme (cf. LightMap).

Les textures, une fois importees et generees, peuvent etre passees directement a la carte graphique, ou conservees en attende d'utilisation, puis effacees de la memoire.


Constructor & Destructor Documentation

Texture::Texture char *  filename,
bool  preload,
int  useTexId = -1,
int  side = 0
 

Constructeur d'une texture a partir d'un fichier.

Parameters:
filename Nom de fichier de la texture
preload La texture doit etre chargee dans la memoire video
useTexId Force l'ID de la texture (Skybox)
side Precise le cote de la Skybox
Ce constructeur charge une image JPeG ou PNG sur le disque dans une texture.

On peut la charger ensuite directement dans la carte graphique.

Texture::Texture unsigned char *  data,
unsigned int  w,
unsigned int  h,
bool  alpha,
bool  intensity,
bool  preload
 

Charge une texture a partir d'un tableau de valeurs.

Parameters:
data Un tableau contenant les valeurs de la texture
w Largeur de la texture
h Hauteur de la texture
alpha Canal alpha compris dans les valeurs de data
intensity Les valeurs de data stockent une instensite
preload Chargement dans la carte graphique
Ce constructeur charge une texture a partir d'un tableau de valeurs.

On peut la charger ensuite directement dans la carte graphique.

Texture::Texture unsigned int  w,
unsigned int  h,
GLuint  toTexId,
unsigned int  side
 

Creer une texture a partir du framebuffer OpenGL.

Parameters:
w Largeur de la texture a recuperer
h Hauteur de la texture a recuperer
toTexId ID ou stocker la texture recuperee
side Cote de la texture recuperee
Ce constructeur recupere le framebuffer OpenGL et le stocke dans une texture.

Cette methode est principalement utilisee pour generer les cotes de la Skybox (side).


Member Function Documentation

bool Texture::getHasAlpha  )  [inline]
 

Presence d'une couche alpha.

unsigned int Texture::getSizeX  )  [inline]
 

Recupere la largeur de la texture.

unsigned int Texture::getSizeY  )  [inline]
 

Recupere la largeur de la texture.

GLuint Texture::getTexID  )  [inline]
 

Recupere l'ID de la texture.

void Texture::load  ) 
 

Charge la texture dans la carte graphique.

int Texture::loadJpg char *  filename,
bool  preload,
int  useTexId = -1,
int  side = 0
[private]
 

Chargement d'un fichier JPeG depuis le disque dur.

Parameters:
filename Nom du fichier a charger
preload Charge ou non la texture dans la carte graphique
useTexId Force l'identifiant de la texture (utilise pour les cotes de la Skybox)
side Precise le cote de la Skybox
Returns:
Un code d'erreur peut etre renvoye quand le chargement ne s'est pas passe correctement
Cette fonction charge un fichier JPeG dans une texture dont l'ID est calcule automatiquement ou bien force, puis passee a la carte graphique ou non.

int Texture::loadPng char *  filename,
bool  preload,
int  useTexId = -1,
int  side = 0
[private]
 

See also:
Texture::loadJpg

void Texture::unload  ) 
 

Decharge la texture de la carte graphique.


Member Data Documentation

bool Texture::bound [private]
 

Indique si la texture est chargee dans la carte graphique.

bool Texture::hasAlpha [private]
 

Presence d'une couche alpha.

unsigned int Texture::height [private]
 

Hauteur de la texture.

bool Texture::isIntensity [private]
 

Determine la nature de la texture.

unsigned char* Texture::texData [private]
 

Tableau des donnees de la texture.

GLuint Texture::texID [private]
 

ID de la texture.

char* Texture::textureName [private]
 

Nom du fichier de texture.

unsigned int Texture::width [private]
 

Largeur de la texture.


Generated on Thu Mar 24 12:53:49 2005 for Septant by  doxygen 1.4.1