begin process at 2010 02 10 09:06:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

AIDEZ MOI scp problème de texture bmp avec glaux


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

AIDEZ MOI scp problème de texture bmp avec glaux

samedi 19 juillet 2003 à 13:18:21 | AIDEZ MOI scp problème de texture bmp avec glaux

progundeath

aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc je travaille avec dev-c++ et donc je compile le code que je vais mettre en dessous il n'y a aucune érreur de compilation ni d'édition des liens donc le programme tourne normalement sauf que mon carré n'est pa recouvert de la texture je n'y comprend rien merci si quelqu1 peu m'aider.

code :

#include <GL\glut.h>
#include <GL\glaux.h>
#include <stdio.h>

GLuint texture[1];

AUX_RGBImageRec * ChargeBMP(char nomfichier[])
{
FILE * fichier=NULL;
if(!nomfichier)
{
return NULL;
}
fichier=fopen(nomfichier,"r");
if(!fichier)
{
return NULL;
}
fclose(fichier);
return auxDIBImageLoad(nomfichier);
}

int ChargeTex()
{
int statut=FALSE;
AUX_RGBImageRec * imagetex[1];
if(imagetex[0]=ChargeBMP("truc.bmp"))
{
statut=TRUE;
glGenTextures(1,texture);
glBindTexture(GL_TEXTURE_2D,texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imagetex[0]->sizeX, imagetex[0]->sizeY, 0, GL_RGBA,GL_UNSIGNED_BYTE, imagetex[0]->data);
}
return statut;
}

void Dessin()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0,0,1,0,0,-10,0,1,0);
glBindTexture(GL_TEXTURE_2D,texture[0]);
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);glVertex2f(0.25,0.25);
glTexCoord2f(1.0,0.0);glVertex2f(0.75,0.25);
glTexCoord2f(1.0,1.0);glVertex2f(0.75,0.75);
glTexCoord2f(0.0,1.0);glVertex2f(0.25,0.75);
glEnd();
glutSwapBuffers();
}

int Init()
{
if(!ChargeTex())
{
return FALSE;
}
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
return TRUE;
}

void Redim(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,1,0,1,-10,10);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
glutInitWindowSize(300,300);
glutInitWindowPosition(100,100);
glutCreateWindow("Essai OpenGL");
if(!Init())
{
return 1;
}
glutReshapeFunc(Redim);
glutDisplayFunc(Dessin);
glutMainLoop();
return 0;
}

Progundeath ~ "Programmer until death"
samedi 19 juillet 2003 à 13:19:25 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

progundeath


Progundeath ~ "Programmer until death"


-------------------------------
Réponse au message :
-------------------------------

> aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc je travaille avec dev-c++ et donc je compile le code que je vais mettre en dessous il n'y a aucune érreur de compilation ni d'édition des liens donc le programme tourne normalement sauf que mon carré n'est pa recouvert de la texture je n'y comprend rien merci si quelqu1 peu m'aider.
>
> code :
>
> #include <GL\glut.h>
> #include <GL\glaux.h>
> #include <stdio.h>
>
> GLuint texture[1];
>
> AUX_RGBImageRec * ChargeBMP(char nomfichier[])
> {
> FILE * fichier=NULL;
> if(!nomfichier)
> {
> return NULL;
> }
> fichier=fopen(nomfichier,"r");
> if(!fichier)
> {
> return NULL;
> }
> fclose(fichier);
> return auxDIBImageLoad(nomfichier);
> }
>
> int ChargeTex()
> {
> int statut=FALSE;
> AUX_RGBImageRec * imagetex[1];
> if(imagetex[0]=ChargeBMP("truc.bmp"))
> {
> statut=TRUE;
> glGenTextures(1,texture);
> glBindTexture(GL_TEXTURE_2D,texture[0]);
> glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
> glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
> glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imagetex[0]->sizeX, imagetex[0]->sizeY, 0, GL_RGBA,GL_UNSIGNED_BYTE, imagetex[0]->data);
> }
> return statut;
> }
>
> void Dessin()
> {
> glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
> glLoadIdentity();
> gluLookAt(0,0,1,0,0,-10,0,1,0);
> glBindTexture(GL_TEXTURE_2D,texture[0]);
> glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
> glBegin(GL_QUADS);
> glTexCoord2f(0.0,0.0);glVertex2f(0.25,0.25);
> glTexCoord2f(1.0,0.0);glVertex2f(0.75,0.25);
> glTexCoord2f(1.0,1.0);glVertex2f(0.75,0.75);
> glTexCoord2f(0.0,1.0);glVertex2f(0.25,0.75);
> glEnd();
> glutSwapBuffers();
> }
>
> int Init()
> {
> if(!ChargeTex())
> {
> return FALSE;
> }
> glClearColor(0.0,0.0,0.0,0.0);
> glShadeModel(GL_SMOOTH);
> glEnable(GL_DEPTH_TEST);
> glEnable(GL_TEXTURE_2D);
> glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
> return TRUE;
> }
>
> void Redim(int w,int h)
> {
> glViewport(0,0,(GLsizei)w,(GLsizei)h);
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> glOrtho(0,1,0,1,-10,10);
> glMatrixMode(GL_MODELVIEW);
> glLoadIdentity();
> }
>
> int main(int argc,char *argv[])
> {
> glutInit(&argc,argv);
> glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
> glutInitWindowSize(300,300);
> glutInitWindowPosition(100,100);
> glutCreateWindow("Essai OpenGL");
> if(!Init())
> {
> return 1;
> }
> glutReshapeFunc(Redim);
> glutDisplayFunc(Dessin);
> glutMainLoop();
> return 0;
> }
>
> Progundeath ~ "Programmer until death"
dimanche 20 juillet 2003 à 18:21:51 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

kawito





-------------------------------
Réponse au message :
-------------------------------

> aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc je travaille avec dev-c++ et donc je compile le code que je vais mettre en dessous il n'y a aucune érreur de compilation ni d'édition des liens donc le programme tourne normalement sauf que mon carré n'est pa recouvert de la texture je n'y comprend rien merci si quelqu1 peu m'aider.

salut,
voici une fonction qui charge une texture BMP

pour la gestion des bmp

typedef struct
{
BITMAPFILEHEADER bmfHeader;
BITMAPINFOHEADER bmiHeader;
GLubyte *image_data;

} BITMAP_IMAGE;


typedef struct
{
GLubyte *imageData;
GLuint bpp;
GLuint width;
GLuint height;
GLuint texID;
} TextureImage;


par exemple :
declarer une variable (tableau de texture)

TextureImage texture_carte[10];

pour charger la texture :
Charger_texture_bmp(texture_carte, "image.bmp",0);

une fois la texture chargé ,il faut la plaquer sur un quad :

glEnable(GL_TEXTURE_2D);
glEnable(GL_CULL_FACE);
glBindTexture(GL_TEXTURE_2D, texture_bouton[texture_id].texID);
glBegin(GL_QUADS);
/* TEXTURE // RECTANGLE DE DESTINATION */
glTexCoord2d(0, 0);glVertex2d(x, y);
glTexCoord2d(1, 0);glVertex2d(x + largeur, y);
glTexCoord2d(1, 1);glVertex2d(x + largeur,y + hauteur);
glTexCoord2d(0, 1);glVertex2d(x, y + hauteur);
glEnd();
glDisable (GL_TEXTURE_2D);
premier point pour le mappage en bas a gauche du quad,et on tourne dans le sens trigo
4--3
| |
0--1

/**************************************************************************************/
/**************************************************************************************/
/**************** CHARGER UNE TEXTURE A PARTIR D'UN FICHIER BMP 24 bits *************/
/**************************************************************************************/
/**************************************************************************************/

charge un fichier bmp en texture opengl,
le fichier ce trouve dans le repertoire "graphique" par defaut
et on choisit le repertoire final "interface" ou "fondecran" par exemple

aborescence :

repertoire application courante
|
graphique
|
interface:"image.bmp"
|
fondecran
|


void Charger_texture_bmp(TextureImage textureArray[], LPSTR strFileName, int textureID)
{
AUX_RGBImageRec *pBitmap = NULL;
char repertoire_par_defaut[MAX_PATH];

if(!strFileName) // Return from the function if no file name was passed in
return;

/* memoriser le repertoire courant */
getcwd(repertoire_par_defaut,MAX_PATH);
/* selection du repertoire graphique */
chdir(NOM_REPERTOIRE_GRAPHIQUE);
/* selection du repertoire choisit : interface */
chdir(NOM_REPERTOIRE_INTERFACE);

pBitmap = auxDIBImageLoad(strFileName); // Load the bitmap and store the data

if(pBitmap == NULL) // If we can't load the file, quit!
exit(0);

glGenTextures(1, &textureArray[textureID].texID);
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
glBindTexture(GL_TEXTURE_2D, textureArray[textureID].texID);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pBitmap->sizeX, pBitmap->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pBitmap->data);

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR);



if (pBitmap)
{
if (pBitmap->data)
{
free(pBitmap->data);
}

free(pBitmap);
}
/* reselection du repertoire par defaut (application) */
chdir(repertoire_par_defaut);
}


mais je te conseille d'utiliser le format TGA, qui permet de faire des sprites
car en bmp tu pourra seulement afficher des image carre, avec le TGA tu pourra afficher des sprites.
donc afficher des boutons ovale dans un quad par exemple...


si la texture ne s'affiche pas verifie tes parametres d'initialisation

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(LARGEUR_FENETRE, HAUTEUR_FENETRE);
glutInitWindowPosition(0, 0);

dimanche 20 juillet 2003 à 18:26:49 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

kawito

verifie si la taille de l'image et un multiple d'une puissance de 2
256*256 ou 512*512 en pixel
la taille des images bmp doit etre une puissance de 2 imperativement
lundi 21 juillet 2003 à 15:00:05 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

progundeath

salut kawito et d'abord merci de m'avoir répondu mais je n'arrive toujours pas à texturer mon carré. J'ai suivi ton conseil et g pris une image de 256 sur 256 d'un tutorial sur internet mais sa ne marche toujours pas alor g pris le code source d'un tutorial sur internet que je vais afficher apres sans rien modifier et sa ne marche pas !!! C'est quand meme bizarre que sa marche avec le gars qui a fait le tutorial et que sa ne marche pa avec moi je ni compren rien je suis dessepéré aide moi sil te plai merci d'avance !!

code source du tutorial :

#include <stdio.h>
#include <gl/glut.h>
#include <gl/glu.h>
#include <gl/gl.h>
#include <iostream.h>


////////////////////////////////////////////////////////


//Fenêtre GLUT
int Win;
double a=0;
//Fonction d'initialisation
void InitGL();
//Fonction de redimensionnement
void Reshape(int w,int h);
//Fonction de dessin
void Draw();
//LoadBMP : charge une image 24bpp
int LoadBMP(char *File);

//Texture :
GLuint Nom;

////////////////////////////////////////////////////////

int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
Win=glutCreateWindow("Démo Texture");

glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
InitGL();
glutMainLoop();

return 0;

}

////////////////////////////////////////////////////////
//LoadBMP : charge une image 24bpp
#define EXIT {fclose(fichier);return -1;}
#define CTOI(C) (*(int*)&C) //récupère en int un nombre pointé par un char*

int LoadBMP(char *File)
{
unsigned char *Data;
FILE *fichier;
unsigned char Header[0x36];
GLuint DataPos,DataSize;
GLint Components;
GLsizei Width,Height;
GLenum Format,Type;
GLuint Name[1];

//Lit le fichier et son header
fichier = fopen(File,"rb");if (!fichier) return -1;
if (fread(Header,1,0x36,fichier)!=0x36) EXIT;
if (Header[0]!='B' || Header[1]!='M') EXIT;
if (CTOI(Header[0x1E])!=0) EXIT;
if (CTOI(Header[0x1C])!=24) EXIT;

//Récupère les infos du fichier
DataPos = CTOI(Header[0x0A]);
DataSize = CTOI(Header[0x22]);
//Récupère les infos de l'image
Width = CTOI(Header[0x12]);
Height = CTOI(Header[0x16]);
Type = GL_UNSIGNED_BYTE;
Format = GL_RGB;
Components = 3;

//!!!!
if (DataSize==0) DataSize=Width*Height*Components;
if (DataPos==0) DataPos=0x36;

//Charge l'image
fseek(fichier,DataPos,0);
Data = new unsigned char[DataSize];
if (!Data) EXIT;

if (fread(Data,1,DataSize,fichier)!=DataSize)
{
delete Data;
fclose(fichier);
return -1;
}

fclose(fichier);

//Inverse R et B
unsigned char t;
for (int x=0;x<Width*Height;x++)
{
t=Data[x*3];
Data[x*3]=Data[x*3+2];
Data[x*3+2]=t;
}

//Envoie la texture à OpenGL
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glGenTextures(1, Name);
glBindTexture(GL_TEXTURE_2D, Name[0]);


glTexImage2D
(
GL_TEXTURE_2D, //target
0, //mipmap level
Components, //nb couleurs
Width, //largeur
Height, //hauteur
0, //largeur du bord
Format, //type des couleurs
Type, //codage de chaque composante
Data //Image
);

return Name[0];
}


////////////////////////////

void InitGL()
{
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);

Nom = LoadBMP("Texture.bmp");
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);
//glHint est activé si on active le filtering
//glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);

}


////////////////////////////


void Reshape(int w,int h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.,float(w)/float(h),1,100);
}


////////////////////////////


void Draw()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(3,2,3,0,0,0,0,1,0);
glRotated(a,0,1,0);


glBegin(GL_QUADS);

glTexCoord2i(0,0);glVertex3i(-1,-1,-1);
glTexCoord2i(1,0);glVertex3i(+1,-1,-1);
glTexCoord2i(1,1);glVertex3i(+1,+1,-1);
glTexCoord2i(0,1);glVertex3i(-1,+1,-1);

glTexCoord2i(0,0);glVertex3i(-1,-1,+1);
glTexCoord2i(1,0);glVertex3i(+1,-1,+1);
glTexCoord2i(1,1);glVertex3i(+1,+1,+1);
glTexCoord2i(0,1);glVertex3i(-1,+1,+1);

glTexCoord2i(0,0);glVertex3i(+1,-1,-1);
glTexCoord2i(1,0);glVertex3i(+1,-1,+1);
glTexCoord2i(1,1);glVertex3i(+1,+1,+1);
glTexCoord2i(0,1);glVertex3i(+1,+1,-1);

glTexCoord2i(0,0);glVertex3i(-1,-1,-1);
glTexCoord2i(1,0);glVertex3i(-1,-1,+1);
glTexCoord2i(1,1);glVertex3i(-1,+1,+1);
glTexCoord2i(0,1);glVertex3i(-1,+1,-1);

glTexCoord2i(0,0);glVertex3i(-1,+1,-1);
glTexCoord2i(1,0);glVertex3i(+1,+1,-1);
glTexCoord2i(1,1);glVertex3i(+1,+1,+1);
glTexCoord2i(0,1);glVertex3i(-1,+1,+1);

glTexCoord2i(0,0);glVertex3i(-1,-1,+1);
glTexCoord2i(1,0);glVertex3i(+1,-1,+1);
glTexCoord2i(1,1);glVertex3i(+1,-1,-1);
glTexCoord2i(0,1);glVertex3i(-1,-1,-1);

glEnd();


a+=1;
glutSwapBuffers();
glutPostRedisplay();
}



////////////////////////////
//THE END///////////////////
////////////////////////////




Progundeath ~ "Programmer until death"

-------------------------------
Réponse au message :
-------------------------------

>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc je travaille avec dev-c++ et donc je compile le code que je vais mettre en dessous il n'y a aucune érreur de compilation ni d'édition des liens donc le programme tourne normalement sauf que mon carré n'est pa recouvert de la texture je n'y comprend rien merci si quelqu1 peu m'aider.
>
> salut,
> voici une fonction qui charge une texture BMP
>
> pour la gestion des bmp
>
> typedef struct
> {
> BITMAPFILEHEADER bmfHeader;
> BITMAPINFOHEADER bmiHeader;
> GLubyte *image_data;
>
> } BITMAP_IMAGE;
>
>
> typedef struct
> {
> GLubyte *imageData;
> GLuint bpp;
> GLuint width;
> GLuint height;
> GLuint texID;
> } TextureImage;
>
>
> par exemple :
> declarer une variable (tableau de texture)
>
> TextureImage texture_carte[10];
>
> pour charger la texture :
> Charger_texture_bmp(texture_carte, "image.bmp",0);
>
> une fois la texture chargé ,il faut la plaquer sur un quad :
>
> glEnable(GL_TEXTURE_2D);
> glEnable(GL_CULL_FACE);
> glBindTexture(GL_TEXTURE_2D, texture_bouton[texture_id].texID);
> glBegin(GL_QUADS);
> /* TEXTURE // RECTANGLE DE DESTINATION */
> glTexCoord2d(0, 0);glVertex2d(x, y);
> glTexCoord2d(1, 0);glVertex2d(x + largeur, y);
> glTexCoord2d(1, 1);glVertex2d(x + largeur,y + hauteur);
> glTexCoord2d(0, 1);glVertex2d(x, y + hauteur);
> glEnd();
> glDisable (GL_TEXTURE_2D);
> premier point pour le mappage en bas a gauche du quad,et on tourne dans le sens trigo
> 4--3
> | |
> 0--1
>
> /**************************************************************************************/
> /**************************************************************************************/
> /**************** CHARGER UNE TEXTURE A PARTIR D'UN FICHIER BMP 24 bits *************/
> /**************************************************************************************/
> /**************************************************************************************/
>
> charge un fichier bmp en texture opengl,
> le fichier ce trouve dans le repertoire "graphique" par defaut
> et on choisit le repertoire final "interface" ou "fondecran" par exemple
>
> aborescence :
>
> repertoire application courante
> |
> graphique
> |
> interface:"image.bmp"
> |
> fondecran
> |
>
>
> void Charger_texture_bmp(TextureImage textureArray[], LPSTR strFileName, int textureID)
> {
> AUX_RGBImageRec *pBitmap = NULL;
> char repertoire_par_defaut[MAX_PATH];
>
> if(!strFileName) // Return from the function if no file name was passed in
> return;
>
> /* memoriser le repertoire courant */
> getcwd(repertoire_par_defaut,MAX_PATH);
> /* selection du repertoire graphique */
> chdir(NOM_REPERTOIRE_GRAPHIQUE);
> /* selection du repertoire choisit : interface */
> chdir(NOM_REPERTOIRE_INTERFACE);
>
> pBitmap = auxDIBImageLoad(strFileName); // Load the bitmap and store the data
>
> if(pBitmap == NULL) // If we can't load the file, quit!
> exit(0);
>
> glGenTextures(1, &textureArray[textureID].texID);
> glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
> glBindTexture(GL_TEXTURE_2D, textureArray[textureID].texID);
> gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pBitmap->sizeX, pBitmap->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pBitmap->data);
>
> glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
> glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR);
>
>
>
> if (pBitmap)
> {
> if (pBitmap->data)
> {
> free(pBitmap->data);
> }
>
> free(pBitmap);
> }
> /* reselection du repertoire par defaut (application) */
> chdir(repertoire_par_defaut);
> }
>
>
> mais je te conseille d'utiliser le format TGA, qui permet de faire des sprites
> car en bmp tu pourra seulement afficher des image carre, avec le TGA tu pourra afficher des sprites.
> donc afficher des boutons ovale dans un quad par exemple...
>
>
> si la texture ne s'affiche pas verifie tes parametres d'initialisation
>
> glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
> glutInitWindowSize(LARGEUR_FENETRE, HAUTEUR_FENETRE);
> glutInitWindowPosition(0, 0);
>
>
lundi 21 juillet 2003 à 22:27:30 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

kawito

salut,
1)tu as verifier que ton image a bien une taille de multiple d'une puissance de 2 soit 256*256 ou 512*512 par exemple !
2)ton image est t'elle bien en 24 bpp ?
verifie ça dans ms paint.
3)glutInitDisplayModeGLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
teste plutot pour le moment:
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);

4)teste plutot
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, imagetex[0]->sizeX, imagetex[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, imagetex[0]->data);
que
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imagetex[0]->sizeX, imagetex[0]->sizeY, 0, GL_RGBA,GL_UNSIGNED_BYTE, imagetex[0]->data);

5) je viens de voir un GROS PROBLEME :

AUX_RGBImageRec * ChargeBMP(char nomfichier[])
> {
> FILE * fichier=NULL;
> if(!nomfichier)
> {
> return NULL;
> }
> fichier=fopen(nomfichier,"r");
> if(!fichier)
> {
> return NULL;
> }
> fclose(fichier);
> return auxDIBImageLoad(nomfichier);
> }

mais qu'est ce que c'est que cette fonction ??
tu lui passe un tableau de char (nomfichier[])
et elle renvoie quoi nomfichier ,je crois quil y a un petite erreur....
elle devrais par renvoyer un pointeur sur les data de l'image ?
du genre :

AUX_RGBImageRec *pBitmap = NULL;

pBitmap = auxDIBImageLoad(nomfichier);

return(pBitmap);

ajoute donc cette variable a ta fonction !

et je serais toi j'aisserais de ne faire qu'une seul fonction
au lieu de deux :
AUX_RGBImageRec * ChargeBMP(char nomfichier[])
int ChargeTex()

int chargerTextureBMP(char *nomfichier);

et elle retourne 0 si tout c'est bien passé et une erreur sinon
bref tu fais un mix des deux.

utilise des char* plutot que des tableaus de char,mais les chaines de caractere, si tu maitrisse pas trop ,cela deviens vite compliqué !

reste en GL_SINGLE et GL_RGB

n'oublis pas les glEnable(GL_TEXTURE_2D);
et glDisable (GL_TEXTURE_2D);
je n'en n'ais pas vu........


pour l'initialisation :

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(LARGEUR_FENETRE, HAUTEUR_FENETRE);
glutInitWindowPosition(0, 0); // A ce niveau, les coordonnées sont calculées par rapport au coin haut-gauche
glutCreateWindow("Test Opengl");
glutFullScreen();

et pour le rediimensionement de la fenetre

void Redim(int l, int h)
{
glViewport(0, 0, l, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, l, h, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

la tu sera en plein ecran (2d) pour commencer ,
l'origine x=0 y=0 est en haut a gauche
et la taille de la fenetre et de la taille des constantes que tu aura defini :

#define LARGEUR_FENETRE 1024
#define HAUTEUR_FENETRE 768
par exemple !

et si c'est un tutoriel le source que tu as ,et ben c'est normal qui marche po

j'espere t'avoir aidé ,je crois que tu as du boulot.

a+

-------------------------------
Réponse au message :
-------------------------------

>
> Progundeath ~ "Programmer until death"
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc je travaille avec dev-c++ et donc je compile le code que je vais mettre en dessous il n'y a aucune érreur de compilation ni d'édition des liens donc le programme tourne normalement sauf que mon carré n'est pa recouvert de la texture je n'y comprend rien merci si quelqu1 peu m'aider.
> >
> > code :
> >
> > #include <GL\glut.h>
> > #include <GL\glaux.h>
> > #include <stdio.h>
> >
> > GLuint texture[1];
> >
> > AUX_RGBImageRec * ChargeBMP(char nomfichier[])
> > {
> > FILE * fichier=NULL;
> > if(!nomfichier)
> > {
> > return NULL;
> > }
> > fichier=fopen(nomfichier,"r");
> > if(!fichier)
> > {
> > return NULL;
> > }
> > fclose(fichier);
> > return auxDIBImageLoad(nomfichier);
> > }
> >
> > int ChargeTex()
> > {
> > int statut=FALSE;
> > AUX_RGBImageRec * imagetex[1];
> > if(imagetex[0]=ChargeBMP("truc.bmp"))
> > {
> > statut=TRUE;
> > glGenTextures(1,texture);
> > glBindTexture(GL_TEXTURE_2D,texture[0]);
> > glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
> > glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
> > glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imagetex[0]->sizeX, imagetex[0]->sizeY, 0, GL_RGBA,GL_UNSIGNED_BYTE, imagetex[0]->data);
> > }
> > return statut;
> > }
> >
> > void Dessin()
> > {
> > glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
> > glLoadIdentity();
> > gluLookAt(0,0,1,0,0,-10,0,1,0);
> > glBindTexture(GL_TEXTURE_2D,texture[0]);
> > glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE);
> > glBegin(GL_QUADS);
> > glTexCoord2f(0.0,0.0);glVertex2f(0.25,0.25);
> > glTexCoord2f(1.0,0.0);glVertex2f(0.75,0.25);
> > glTexCoord2f(1.0,1.0);glVertex2f(0.75,0.75);
> > glTexCoord2f(0.0,1.0);glVertex2f(0.25,0.75);
> > glEnd();
> > glutSwapBuffers();
> > }
> >
> > int Init()
> > {
> > if(!ChargeTex())
> > {
> > return FALSE;
> > }
> > glClearColor(0.0,0.0,0.0,0.0);
> > glShadeModel(GL_SMOOTH);
> > glEnable(GL_DEPTH_TEST);
> > glEnable(GL_TEXTURE_2D);
> > glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
> > return TRUE;
> > }
> >
> > void Redim(int w,int h)
> > {
> > glViewport(0,0,(GLsizei)w,(GLsizei)h);
> > glMatrixMode(GL_PROJECTION);
> > glLoadIdentity();
> > glOrtho(0,1,0,1,-10,10);
> > glMatrixMode(GL_MODELVIEW);
> > glLoadIdentity();
> > }
> >
> > int main(int argc,char *argv[])
> > {
> > glutInit(&argc,argv);
> > glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
> > glutInitWindowSize(300,300);
> > glutInitWindowPosition(100,100);
> > glutCreateWindow("Essai OpenGL");
> > if(!Init())
> > {
> > return 1;
> > }
> > glutReshapeFunc(Redim);
> > glutDisplayFunc(Dessin);
> > glutMainLoop();
> > return 0;
> > }
> >
> > Progundeath ~ "Programmer until death"
>
lundi 21 juillet 2003 à 23:18:28 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

progundeath

Salut kawito malgré tes effor je ni arrive toujour pa sa m'énerve franchemen mai g fais presque exactement comme tu m'as di de faire mais je me demande si se n'ai pa mon implémentation qui merde ou un truc dasn le genre pasque j'ai fais tout se que tu m'as di de faire mais bon je vais mettre la source telle que je l'ai compilée et est ce que tu pourrai essayé de la compilé et de l'éxécuter pour me dire si sur ton ordi sa marche et sinon qu'est ce qui cloche si tu veu bien bien sur alor attend je mais la source :



#include <GL\glut.h>
#include <GL\glaux.h>
#include <stdio.h>
#include <stdlib.h>

GLuint texture[1];

void Dessin()
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,texture[0]);
gluLookAt(0,0,1,0,0,-10,0,1,0);
glBegin(GL_QUADS);
glTexCoord2i(0,0);glVertex2f(0.25,0.25);
glTexCoord2i(1,0);glVertex2f(0.75,0.25);
glTexCoord2i(1,1);glVertex2f(0.75,0.75);
glTexCoord2i(0,1);glVertex2f(0.25,0.75);
glEnd();
glDisable(GL_TEXTURE_2D);
glFlush();
}

GLuint ChargeTexBMP(char*nomfichier)
{
if(!nomfichier)
{
return GL_FALSE;
}
FILE*fichier;
if(!(fichier=fopen(nomfichier,"rb")))
{
return GL_FALSE;
}
fclose(fichier);
AUX_RGBImageRec *image = NULL;
image = auxDIBImageLoad(nomfichier);
glGenTextures(1,&texture[0]);
glBindTexture(GL_TEXTURE_2D,texture[0]);
glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,image->sizeX,image->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,image->data);
if(image)
{
if(image->data)
{
free(image->data);
}
free(image);
}
return GL_TRUE;
}

GLuint Init()
{
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_SMOOTH);
glEnable(GL_TEXTURE_2D);
if(!ChargeTexBMP("Texture.bmp"))
{
return GL_FALSE;
}
return GL_TRUE;
}

void Redim(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,1,0,1,-10,10);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
glutInitWindowSize(300,300);
glutInitWindowPosition(100,100);
glutCreateWindow("Essai OpenGL");
if(!Init())
{
return 1;
}
glutReshapeFunc(Redim);
glutDisplayFunc(Dessin);
glutMainLoop();
return 0;
}


voila j'espere que tu vas m'aidez a résoudre mon probleme pasque je commence a me demandé si je suis pa un gros nul qu'arrive rien enfin bref et encore merci pour ton aide.


Progundeath ~ "Programmer until death"
mardi 22 juillet 2003 à 02:11:45 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

kawito


ça sa tourne ,tu as un ecran 2d de 1024/768 en plein ecran !
place une image : image.bmp en 24bpp et 512/512
bon courage

#define LARGEUR_FENETRE 1024
#define HAUTEUR_FENETRE 768

void Init();
int ChargeTexBMP(const char*nomfichier);
void Dessin(void);
void Redim(int w,int h);

GLuint texture[1];


void Init()
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
}


int main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(LARGEUR_FENETRE, HAUTEUR_FENETRE);
glutInitWindowPosition(0, 0); // A ce niveau, les coordonnées sont calculées par rapport au coin haut-gauche
glutCreateWindow("Risk 2004");
glutFullScreen();
Init();
glutReshapeFunc(Redim);
glutDisplayFunc(Dessin);
glutMainLoop();
return 0;
}



int ChargeTexBMP(const char* nomfichier)
{
AUX_RGBImageRec * pBitmap = NULL;

pBitmap = auxDIBImageLoad(nomfichier);
if (pBitmap == NULL)
{
return 1;
}

glGenTextures(1, &texture[0]);
glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pBitmap->sizeX, pBitmap->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pBitmap->data);

if (pBitmap)
{
if (pBitmap->data)
{
free(pBitmap->data);
}

free(pBitmap);
}
return 0;
}


void Dessin(void)
{
glClear(GL_COLOR_BUFFER_BIT);

if (ChargeTexBMP("image.bmp") == 1)
{
// traiter l erreur
}

glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,texture[0]);
glBegin(GL_QUADS);
glTexCoord2i(0,0);glVertex2f(412,484);
glTexCoord2i(1,0);glVertex2f(612,484);
glTexCoord2i(1,1);glVertex2f(612,284);
glTexCoord2i(0,1);glVertex2f(412,284);
glEnd();
glDisable(GL_TEXTURE_2D);
glFlush();
}


void Redim(int l, int h)
{
glViewport(0, 0, l, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, l, h, 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}



-------------------------------
Réponse au message :
-------------------------------

> Salut kawito malgré tes effor je ni arrive toujour pa sa m'énerve franchemen mai g fais presque exactement comme tu m'as di de faire mais je me demande si se n'ai pa mon implémentation qui merde ou un truc dasn le genre pasque j'ai fais tout se que tu m'as di de faire mais bon je vais mettre la source telle que je l'ai compilée et est ce que tu pourrai essayé de la compilé et de l'éxécuter pour me dire si sur ton ordi sa marche et sinon qu'est ce qui cloche si tu veu bien bien sur alor attend je mais la source :
>
>
>

> #include <GL\glut.h>
> #include <GL\glaux.h>
> #include <stdio.h>
> #include <stdlib.h>
>
> GLuint texture[1];
>
> void Dessin()
> {
> glClear(GL_COLOR_BUFFER_BIT);
> glLoadIdentity();
> glEnable(GL_TEXTURE_2D);
> glBindTexture(GL_TEXTURE_2D,texture[0]);
> gluLookAt(0,0,1,0,0,-10,0,1,0);
> glBegin(GL_QUADS);
> glTexCoord2i(0,0);glVertex2f(0.25,0.25);
> glTexCoord2i(1,0);glVertex2f(0.75,0.25);
> glTexCoord2i(1,1);glVertex2f(0.75,0.75);
> glTexCoord2i(0,1);glVertex2f(0.25,0.75);
> glEnd();
> glDisable(GL_TEXTURE_2D);
> glFlush();
> }
>
> GLuint ChargeTexBMP(char*nomfichier)
> {
> if(!nomfichier)
> {
> return GL_FALSE;
> }
> FILE*fichier;
> if(!(fichier=fopen(nomfichier,"rb")))
> {
> return GL_FALSE;
> }
> fclose(fichier);
> AUX_RGBImageRec *image = NULL;
> image = auxDIBImageLoad(nomfichier);
> glGenTextures(1,&texture[0]);
> glBindTexture(GL_TEXTURE_2D,texture[0]);
> glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,image->sizeX,image->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,image->data);
> if(image)
> {
> if(image->data)
> {
> free(image->data);
> }
> free(image);
> }
> return GL_TRUE;
> }
>
> GLuint Init()
> {
> glClearColor(0.0,0.0,0.0,0.0);
> glShadeModel(GL_SMOOTH);
> glEnable(GL_TEXTURE_2D);
> if(!ChargeTexBMP("Texture.bmp"))
> {
> return GL_FALSE;
> }
> return GL_TRUE;
> }
>
> void Redim(int w,int h)
> {
> glViewport(0,0,(GLsizei)w,(GLsizei)h);
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> glOrtho(0,1,0,1,-10,10);
> glMatrixMode(GL_MODELVIEW);
> glLoadIdentity();
> }
>
> int main(int argc,char *argv[])
> {
> glutInit(&argc,argv);
> glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
> glutInitWindowSize(300,300);
> glutInitWindowPosition(100,100);
> glutCreateWindow("Essai OpenGL");
> if(!Init())
> {
> return 1;
> }
> glutReshapeFunc(Redim);
> glutDisplayFunc(Dessin);
> glutMainLoop();
> return 0;
> }
>

>
> voila j'espere que tu vas m'aidez a résoudre mon probleme pasque je commence a me demandé si je suis pa un gros nul qu'arrive rien enfin bref et encore merci pour ton aide.
>
>
> Progundeath ~ "Programmer until death"
mardi 22 juillet 2003 à 18:45:26 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

progundeath

olala commen je te di un grand merci kawito a nan mais la merci merci beaucoup sa marche je suis super méga tout joice enfin bref merci beaucoup.


Progundeath ~ "Programmer until death"


-------------------------------
Réponse au message :
-------------------------------

>
> ça sa tourne ,tu as un ecran 2d de 1024/768 en plein ecran !
> place une image : image.bmp en 24bpp et 512/512
> bon courage
>
> #define LARGEUR_FENETRE 1024
> #define HAUTEUR_FENETRE 768
>
> void Init();
> int ChargeTexBMP(const char*nomfichier);
> void Dessin(void);
> void Redim(int w,int h);
>
> GLuint texture[1];
>
>
> void Init()
> {
> glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
> glClear(GL_COLOR_BUFFER_BIT);
> }
>
>
> int main(int argc, char** argv)
> {
> glutInit(&argc,argv);
> glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
> glutInitWindowSize(LARGEUR_FENETRE, HAUTEUR_FENETRE);
> glutInitWindowPosition(0, 0); // A ce niveau, les coordonnées sont calculées par rapport au coin haut-gauche
> glutCreateWindow("Risk 2004");
> glutFullScreen();
> Init();
> glutReshapeFunc(Redim);
> glutDisplayFunc(Dessin);
> glutMainLoop();
> return 0;
> }
>
>
>
> int ChargeTexBMP(const char* nomfichier)
> {
> AUX_RGBImageRec * pBitmap = NULL;
>
> pBitmap = auxDIBImageLoad(nomfichier);
> if (pBitmap == NULL)
> {
> return 1;
> }
>
> glGenTextures(1, &texture[0]);
> glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
> glBindTexture(GL_TEXTURE_2D, texture[0]);
> glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
> glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR_MIPMAP_LINEAR);
> gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pBitmap->sizeX, pBitmap->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pBitmap->data);
>
> if (pBitmap)
> {
> if (pBitmap->data)
> {
> free(pBitmap->data);
> }
>
> free(pBitmap);
> }
> return 0;
> }
>
>
> void Dessin(void)
> {
> glClear(GL_COLOR_BUFFER_BIT);
>
> if (ChargeTexBMP("image.bmp") == 1)
> {
> // traiter l erreur
> }
>
> glEnable(GL_TEXTURE_2D);
> glBindTexture(GL_TEXTURE_2D,texture[0]);
> glBegin(GL_QUADS);
> glTexCoord2i(0,0);glVertex2f(412,484);
> glTexCoord2i(1,0);glVertex2f(612,484);
> glTexCoord2i(1,1);glVertex2f(612,284);
> glTexCoord2i(0,1);glVertex2f(412,284);
> glEnd();
> glDisable(GL_TEXTURE_2D);
> glFlush();
> }
>
>
> void Redim(int l, int h)
> {
> glViewport(0, 0, l, h);
> glMatrixMode(GL_PROJECTION);
> glLoadIdentity();
> gluOrtho2D(0, l, h, 0);
> glMatrixMode(GL_MODELVIEW);
> glLoadIdentity();
> }
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut kawito malgré tes effor je ni arrive toujour pa sa m'énerve franchemen mai g fais presque exactement comme tu m'as di de faire mais je me demande si se n'ai pa mon implémentation qui merde ou un truc dasn le genre pasque j'ai fais tout se que tu m'as di de faire mais bon je vais mettre la source telle que je l'ai compilée et est ce que tu pourrai essayé de la compilé et de l'éxécuter pour me dire si sur ton ordi sa marche et sinon qu'est ce qui cloche si tu veu bien bien sur alor attend je mais la source :
> >
> >
> >

> > #include <GL\glut.h>
> > #include <GL\glaux.h>
> > #include <stdio.h>
> > #include <stdlib.h>
> >
> > GLuint texture[1];
> >
> > void Dessin()
> > {
> > glClear(GL_COLOR_BUFFER_BIT);
> > glLoadIdentity();
> > glEnable(GL_TEXTURE_2D);
> > glBindTexture(GL_TEXTURE_2D,texture[0]);
> > gluLookAt(0,0,1,0,0,-10,0,1,0);
> > glBegin(GL_QUADS);
> > glTexCoord2i(0,0);glVertex2f(0.25,0.25);
> > glTexCoord2i(1,0);glVertex2f(0.75,0.25);
> > glTexCoord2i(1,1);glVertex2f(0.75,0.75);
> > glTexCoord2i(0,1);glVertex2f(0.25,0.75);
> > glEnd();
> > glDisable(GL_TEXTURE_2D);
> > glFlush();
> > }
> >
> > GLuint ChargeTexBMP(char*nomfichier)
> > {
> > if(!nomfichier)
> > {
> > return GL_FALSE;
> > }
> > FILE*fichier;
> > if(!(fichier=fopen(nomfichier,"rb")))
> > {
> > return GL_FALSE;
> > }
> > fclose(fichier);
> > AUX_RGBImageRec *image = NULL;
> > image = auxDIBImageLoad(nomfichier);
> > glGenTextures(1,&texture[0]);
> > glBindTexture(GL_TEXTURE_2D,texture[0]);
> > glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,image->sizeX,image->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,image->data);
> > if(image)
> > {
> > if(image->data)
> > {
> > free(image->data);
> > }
> > free(image);
> > }
> > return GL_TRUE;
> > }
> >
> > GLuint Init()
> > {
> > glClearColor(0.0,0.0,0.0,0.0);
> > glShadeModel(GL_SMOOTH);
> > glEnable(GL_TEXTURE_2D);
> > if(!ChargeTexBMP("Texture.bmp"))
> > {
> > return GL_FALSE;
> > }
> > return GL_TRUE;
> > }
> >
> > void Redim(int w,int h)
> > {
> > glViewport(0,0,(GLsizei)w,(GLsizei)h);
> > glMatrixMode(GL_PROJECTION);
> > glLoadIdentity();
> > glOrtho(0,1,0,1,-10,10);
> > glMatrixMode(GL_MODELVIEW);
> > glLoadIdentity();
> > }
> >
> > int main(int argc,char *argv[])
> > {
> > glutInit(&argc,argv);
> > glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
> > glutInitWindowSize(300,300);
> > glutInitWindowPosition(100,100);
> > glutCreateWindow("Essai OpenGL");
> > if(!Init())
> > {
> > return 1;
> > }
> > glutReshapeFunc(Redim);
> > glutDisplayFunc(Dessin);
> > glutMainLoop();
> > return 0;
> > }
> >

> >
> > voila j'espere que tu vas m'aidez a résoudre mon probleme pasque je commence a me demandé si je suis pa un gros nul qu'arrive rien enfin bref et encore merci pour ton aide.
> >
> >
> > Progundeath ~ "Programmer until death"
>
samedi 15 janvier 2005 à 19:52:17 | Re : AIDEZ MOI scp problème de texture bmp avec glaux

svirpiren

n'aurais tu pas besoin d'une fonction du type "SwapBuffer()"?

pierre


Cette discussion est classée dans : int, return, gl, texture, 2d


Répondre à ce message

Sujets en rapport avec ce message

erreur en opengl :( [ par intello2001 ] c:\documents and settings\administrator\mes documents\ogl3\ogl3\untitled1.o(.text+0x71f):untitled1.cpp: undefined reference to `auxDIBImageLoadA@4'c s 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 labyrinthe en 3D sytle ecran veille windows [ par gastoudou ] Bonjour à tous,Et oui encore moi pour une question, que dis-je, une mission pour une âme charitable.Je suis en train de faire un labyrinthe en 3D styl [Open GL]Afficher plusieurs images [ par goutbouyo ] Salut, c'est encore moi, désolé ...En fait c'est que je n'arrive pas à charger plusieurs images.J'utilise ça :Je charge une image :void LoadTexture() probleme pour texturer une sphere [ par mikey84 ] Bonjour! j'ai un énorme problème. J'ai essayé d'appliquer une texture sur ma sphère avec la librairie devil, avec opengl et glut et aucun n'a fonction Multi-texturing [ par barraq ] Voila j'affiche ma scene avec cette fonction : void Terrain::Draw(VObject *CurrentObject) {     int  g_DetailScale = 128;     //Texture 0     glActi OPENGL TEXTURE BMP [ par Batman60 ] bonjourvoici mon code compilé sur dev-cppc'est un cube tournant 3D affichant un bmp sur les six facesje voudrais texturer plusieurs bmp sur les six fa TEXTURE SDL_IMAGE JPEG [ par Batman60 ] salutquelqu'un peut me dire ce qui cloche dans mon bout de code utilisé pour charger une texture jpeg j'utilise la lib SDL_IMAGE pour celaest-ce que c image non chargée [ par aurelivs ] bonjourje cherche a faire une appli en C++ et OpenGL pour charger une image et afficher cette image (puis la transformer). cependant je n'arrive pas à 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,530 sec (3)

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