Charger TGA avec open gl

goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008 - 11 sept. 2004 à 17:05
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008 - 12 sept. 2004 à 00:26
Salut,

Depuis ce midi j'essaie de charger un fichier TGA et de l'appliquer à une surface mais je n'y arrive.

Est ce qu'il existe sous open gl un code simple pour cela ???

Car moi pour charger les BMp je fais comme ça :

unsigned LoadTexture(const char* image)
{
AUX_RGBImageRec *texture1;
unsigned id;
texture1 = auxDIBImageLoad(image);
glGenTextures (1, &id);
glBindTexture (GL_TEXTURE_2D, id);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR);

glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);

return id;
};

10 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
11 sept. 2004 à 18:03
regarde sur mon site: http://perso.wanadoo.fr/raven-corporation/

regarde un code qui s'appel "Love Demo", il y a un fichier (tga.c + tga.h) qui permet de charger une image tga et ensuite tu peux l'appliquer comme une texture "normal"... enfin regarde la source !!!
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
11 sept. 2004 à 19:05
Ca foire au niveau de :

unsigned char *rgba;
unsigned char *rgb;
unsigned char *grayData;

grayData = malloc (size);
rgb = malloc (size * 3);
rgba = malloc (size * 4);

Ca met : '=' : cannot convert from 'void *' to 'unsigned char *'
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 sept. 2004 à 19:26
En C, il n'y a pas ce pb de conversion, tu dois donc faire du C++, utilise new et delete..
Ou sinon, tu fais simplement un cast (ou transtypage) :

grayData = (unsigned char *)malloc(size);

++
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
11 sept. 2004 à 19:29
J'ai posté une source avec un loader de TGAs que j'ai fait tout seul, orienté objet et qui supporte la compression RLE :
http://www.cppfrance.com/code.aspx?id=21912

J'ai aussi fait un prog pr pouvoir créer tes textures TGA avec couche alpha (tansparence) :
http://www.cppfrance.com/code.aspx?id=24551

Voilà bonne prog ;)

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Un concours de prog graphique, ça vous dit? c'est sur Coder-Studio : http:
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
11 sept. 2004 à 20:59
A funto66 :
J'avais déjà essayé ton loader tga mais j'ai pas réussi à l'adapater à mon prog.

J'ai aussi ton prog bmp = > tga.

A AlexMan:
Je vais voir ça de plus prés ...
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
11 sept. 2004 à 21:55
Pas réussi à l'adapter à ton prog?
Tu peux m'envoyer le prog stp à funto at nomade.fr, j'y jetterai un oeil ;)
Au fait, dans le 1er msg que tu postes, ça n'a aucune chance de marcher parce que tu utilises une fonction qui sert à charger des images BMP avec une image TGA ^^

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
11 sept. 2004 à 22:51
A AlexmanC'est bon j'ai réussi en mettant : grayData (unsigned char *)malloc(size); à la place de grayDatamalloc(size);

Merci bcp !!!

A funto66

Mon 1er post c'était pour montrer comment je chargait mes bmp !!!
Je suis quand même pas si bête que ça ...

Je vais enfin pouvoir utiliser ton prog pour mettre des effest de transparence à mes textures !
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
11 sept. 2004 à 23:12
J'ai un problème :

Avec ce code pour charger les tga, ça gère pas la transparence ...

Pour ton code funto66, j'ai pas glut.
Je peux trouver ça ou ?
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
11 sept. 2004 à 23:20
En fait maintenant c'est alloc.h qu'il me manque ...

Je peux trouver ça ou svp ???
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
12 sept. 2004 à 00:26
C'est bon j'ai réussi avec le 1er code !!!
@+++++
0
Rejoignez-nous