begin process at 2012 05 29 07:50:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

LoadTGA() probleme !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

LoadTGA() probleme !

dimanche 1 août 2004 à 00:08:15 | LoadTGA() probleme !

Dante41

Voila, pour mon jeu en 2D avec OpenGL j'utilise la fonction loadTGA():
bool LoadTGA(char *filename, UINT * uTex)
{
unsigned char TGAheader[12] = {0,0,2,0,0,0,0,0,0,0,0,0};
unsigned char tgacompare[12];
unsigned char header[6];
int imageSize;
int type;
unsigned char *imageData;
int bpp;
int width;
int height;


FILE *fichier;

fichier = fopen(filename, "rb");
if(fread(tgacompare, 1, sizeof(tgacompare), fichier) != sizeof(tgacompare))
{
fclose(fichier);
return FALSE;
}
if(memcmp(TGAheader, tgacompare, sizeof(TGAheader)) != 0)
{
fclose(fichier);
return FALSE;
}
if(fread(header, 1, sizeof(header), fichier) != sizeof(header))
{
fclose(fichier);
return FALSE;
}
width = header[1] * 256 + header[0];
height = header[3] * 256 + header[2];
bpp = header[4];
if(bpp==24)
type = GL_RGB;
else
type = GL_RGBA;
imageSize = width * height * bpp/8;
imageData = (unsigned char *)malloc(imageSize);

if(fread(imageData, 1, imageSize, fichier) != imageSize)
{
free(imageData);
fclose(fichier);
return FALSE;
}
fclose(fichier);

unsigned char t;
for(int i=0; i<imageSize;i += bpp/8) // pout inverser R et B
{
t = imageData[i];
imageData[i] = imageData[i + 2];
imageData[i + 2] = t;
}
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1, uTex);
glBindTexture(GL_TEXTURE_2D, *uTex);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexImage2D(GL_TEXTURE_2D, 0, type, width, height, 0, type, GL_UNSIGNED_BYTE, imageData);
free(imageData);
return TRUE;
}

Et j'appliquais ma texture... mais ca marchait pas...
Je sais que ca vient de là :
if (LoadTGA("intro.tga",&textures[0])!=TRUE)PostQuitMessage (0);
et en effet ca quitte. Donc, help !
Dante41 (ou Vengeur41 ca dépend de l'humeur)

"Un myope qui lit sur les lèvres entend mieux lorsqu'il porte des lunettes",Phillipe Geluck

dimanche 1 août 2004 à 00:33:29 | Re : LoadTGA() probleme !

BruNews

Administrateur CodeS-SourceS
Je ne connais rien a OpenGl mais
!=TRUE n'est jamais bon comme test.
if(!MaFuc()) mieux.

ciao...
BruNews, Admin CS, MVP Visual C++
dimanche 1 août 2004 à 01:19:48 | Re : LoadTGA() probleme !

AmK

salut ,
si tu veux un truc simple et rapide tgaLoader de Funto trés simple à utiliser et telechargeable sur ce site !
sauf si tu veux tout re-créer toi meme ....
dimanche 1 août 2004 à 10:55:13 | Re : LoadTGA() probleme !

Dante41

OK... Je vais voir !

Dante41 (ou Vengeur41 ca dépend de l'humeur)

"Un myope qui lit sur les lèvres entend mieux lorsqu'il porte des lunettes",Phillipe Geluck



Cette discussion est classée dans : fichier, header, gl, texture, imagedata


Répondre à ce message

Sujets en rapport avec ce message

ouverture de fichier de texture en .BMP [ par steph76 ] voila je developement en ce moment mon moteur3d pour 1 jeux.Le probleme c'est la fonction d'ouverture de fichier.BMP. Elle fonctionne trés bien sur la Pb de FRONT et BACK buffer avec texture [ par gastoudou ] Bonjour à tous,Je suis en train de faire un projet en OpenGL pour l'école sur un puzzle 2D. Il y a 16 cases mélangées et on doit les remettre à leur p Probléme de textures pour un loader 3DS [OpenGl,DevIl] [ par juliendemomaker ] Bonjour ! Voici mon probléme, je conçois actuellement un loader .3ds en C++ avec OpenGl, le probléme est que quand je charge un model 3D quelconque a Listes OpenGL : Problème de texture [ par smoove5198 ] Bonjour, Je travaille actuellement sur un projet en opengl. Pour des raisons de performence je me suis ecrit une classe qui crée du texte a partir d' Renommer un fichier [ par gwenChina ] Bonjour, En fait, j'ai un fichier qui comporte un header et des images encapsulees (fichier DICOM). Je dois aller modifier des champs (tailles variabl OpenGL map blending [ par dletozeun ] bonjour, Dans mon projet je genere un terrain sur lequel j'applique une texture (roche par exemple) avec opengl. Maintenant je voudrais gerer le mult Texture openGl [ par neodelphi ] Bonjour tout le monde, j'essaye désespérément d'ajouter des textures dans mon projet openGl, mais je devient fou... J'ai écrit une classe qui me perm CLASSE SDL JPEG (OPENGL) [ par Batman60 ] au secours je n'arrive pas à afficher la texture voulue sur les faces choisie du cubeLE CLASSE .H: class Csdl{    public:     Csdl();&n problème de chargement de bitmap [ par Batman60 ] bonjour y a pas moyen de charger des bitmaps avec  la fonction :gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight,    GL_RGB, GL_UNSIGNED_ Multi-texturing [ par barraq ] Voila j'affiche ma scene avec cette fonction : void Terrain::Draw(VObject *CurrentObject) {     int  g_DetailScale = 128;     //Texture 0     glActi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales