begin process at 2012 05 30 00:39:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

OpenGL structure - texture...


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

OpenGL structure - texture...

jeudi 19 mai 2005 à 18:03:34 | OpenGL structure - texture...

un4given

Hello !

Bon j'etais deja venu recolter vos precieux conseils y a un bon mois de cela pendant la creation d'une simulation de tir a l'arc... Je suis toujours sur le projet (que j'avais du lacher 3 semaines...) et j'ai bientot fini, il ne me reste plus qu'a finir la partie OpenGL.
Or la j'ai un petit probleme :

Comment charger une texture ???? Alors oui je sais ou trouve des sources un peu partout... Mais le probleme c'est qu'elle sont souvent mal commentées pour le debutant qu eje suis... Ou alors elles necessitent des fichiers en plus que je ne possede pas... Donc si vous avez une source accessible sans grandes difficultés je suis preneur !! Et si il faut en plus certains headers indiquez les moi que je l'ai cherche... Pour le format de l'image, de preference du bmp ou jpg...

Merci pour votre aide !!!
jeudi 19 mai 2005 à 21:01:52 | Re : OpenGL structure - texture...

un4given

Bon pour la texture j'y arrive toujours pas...

Sinon une autre petite question :
Mon programme fonctionne sous fenetre DOS pour le moment (oui c'est moche) et seul l'affichage du tir en 3D s'effectue en openGL (car on peut choisir d'etudier la trajectoire avec des graphiques sinon). Seulement une fois la fenetre opengl lancée, comment faire pour attribuer a une touche la fonction "quitter la fenetre opengl et poursuivre le programme dos" ?? J'arrive a faire quitter la fenetre en appuyant sur une touche mais cela quitte egalement le programme !!
jeudi 19 mai 2005 à 21:54:31 | Re : OpenGL structure - texture...

luhtor

[ Lien ]

Bon la encore, on utilise glaux.h il me semble, mais de toute facon, tu utiliseras forcément une librairie. Tu vas pas t'amuser toi même à gérer le chargement de texture à partir d'un format.

Aller ++

jeudi 19 mai 2005 à 22:20:04 | Re : OpenGL structure - texture...

un4given

merci luthor !
En fait cette lecon je l'avais deja trouvée... le fait que ca utilise glaux est pas important car j'utilise glut donc c'est compris. Mais quand j'ai voulu utiliser leur loader ben... ca a pas marché ! Qu'est ce qu'il faut que je copie la dedans ?? Moi j'avais copié la partie "AUX_RGBImageRec *LoadBMP(char *Filename)" et "int LoadGLTextures()". Le probleme est que mon compilateur buggue avec le "AUX_RGBImageRec *LoadBMP(char *Filename)" !! Je ne sais trop pourquoi ! Est ce que son vcl.h est important dans les include ? Car je n'ai pas cet header la.
jeudi 19 mai 2005 à 23:10:39 | Re : OpenGL structure - texture...

luhtor

#include	<windows.h>
#include <stdio.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>

Il n'a que ca comme include.
Oui tu prends ce deux fonctions:
AUX_RGBImageRec *LoadBMP(char *Filename);
int LoadGLTextures();

Mais c'est vrai que moi meme j'ai eu du mal a utiliser ces fonctions,
car elle ne sont prévu que pour une texture.
Si tu veux un exemple, j'utilise ca dans la source opengl que j'avais poster il y a longtemps:
http://www.cppfrance.com/code.aspx?ID=27055

GLuint texture[3]; // en variable globale

AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image
{
FILE *File=NULL; // File Handle

if (!Filename) // Make Sure A Filename Was Given
{
return NULL; // If Not Return NULL
}

File=fopen(Filename,"r"); // Check To See If The File Exists

if (File) // Does The File Exist?
{
fclose(File); // Close The Handle
return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer
}

return NULL; // If Load Failed Return NULL
}

int LoadGLTextures()
{
int Status=FALSE;
AUX_RGBImageRec *TextureImage[3];
memset (TextureImage, 0, sizeof(void*)*1);

glGenTextures(3, texture);

if (TextureImage[0]=LoadBMP("textures/briques2.bmp"))
{
Status=TRUE;
}

glBindTexture(GL_TEXTURE_2D, texture[0]);

glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

if (TextureImage[1]=LoadBMP("textures/parquet1.bmp"))
{
Status=TRUE;
}
//glGenTextures(2, &texture[1]);
glBindTexture(GL_TEXTURE_2D, texture[1]);

glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[1]->sizeX, TextureImage[1]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[1]->data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

if (TextureImage[2]=LoadBMP("textures/rocher.bmp"))
{
Status=TRUE;
}
//glGenTextures(3, &texture[2]);
glBindTexture(GL_TEXTURE_2D, texture[2]);

glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[2]->sizeX, TextureImage[2]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[2]->data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

if (TextureImage[0])
{
if (TextureImage[0]->data)
{
free(TextureImage[0]->data);
}
free(TextureImage[0]);
}
if (TextureImage[1])
{
if (TextureImage[1]->data)
{
free(TextureImage[1]->data);
}
free(TextureImage[1]);
}
if (TextureImage[2])
{
if (TextureImage[2]->data)
{
free(TextureImage[2]->data);
}
free(TextureImage[2]);
}
return Status;
}

Et après dans ta fonction d'affichage, tu appels les textures:
glBindTexture(GL_TEXTURE_2D, texture[2]);    
     glBegin(GL_QUADS);
     {
         glTexCoord2f(-t,-t); glVertex3f(cub_x - cub_c,cub_z + cub_c,cub_y - cub_c);        
         glTexCoord2f(t,-t);  glVertex3f(cub_x + cub_c,cub_z + cub_c,cub_y - cub_c);
         glTexCoord2f(t,t);   glVertex3f(cub_x + cub_c,cub_z + cub_c,cub_y + cub_c);
         glTexCoord2f(-t,t);  glVertex3f(cub_x - cub_c,cub_z + cub_c,cub_y + cub_c);
     }
     glEnd();

Enfin tu vois le genre. C'est pas jolie comme mémorisation, car tu vois bien je code en hard le chargement de 3 textures, mais tu peux généraliser ca facilement après.

Aller ++

vendredi 20 mai 2005 à 07:51:10 | Re : OpenGL structure - texture...

un4given

ok merci ej vasi essayer de faire ca tout a l'heure pour verifier que chez moi ca marche bien aussi (j'suis un peu polio des fois moi...). Lors de ta compilation il ne te pose pas de probleme avec le type "AUX_RGBImageRec " ?
vendredi 20 mai 2005 à 10:11:21 | Re : OpenGL structure - texture...

un4given

bon je viens d'essayer... J'ai passé le probleme du AUX_RGBImageRec  qui etait pas reconnu. Par contre lorsque je compile j'ai deux warnings et une erreur!

Warning :
1) Il me dit que 'File' est jamais utilisé dans la fonction AUX_RGBImageRec ... Bizzare !
2) Il me dit que j'ai peut etre mal tapé "if (TextureImage[0]=LoadBMP("herbe.bmp"))". Je pense que c'est a cause du signe = et non == mais est ce bien normal ?

Erreur :
Il a un probleme et n'arrive pas a resoudre auxDIBImageLoad...

Pourquoi ???
vendredi 20 mai 2005 à 10:35:26 | Re : OpenGL structure - texture...

un4given

Toujours plus loins toujous plus fort je me reponds a moi meme !

Bon pour les warnings j'ai rien de nouveaux, pour l'erreur par contre cela venait du fait que j'avais supprimé la librairie GLAUX de mon projet sans le faire expres ! Bref je l'ai remise et la... une nouvelle erreur!!
Error: 'I:\PROJET INFO - TIR À L'ARC\SOURCES\GLAUX.LIB' contains invalid OMF record, type 0x21

C'est quoi ca ???


Cette discussion est classée dans : probleme, opengl, structure, texture


Répondre à ce message

Sujets en rapport avec ce message

probleme avec dev c++ et opengl [ par D4rkRe4per ] hello tlmen ce moment j'essaie d'apprendre à utiliser opengl en c++ mais g un gros probleme avec mon compilateur dev c++.J'ecris mon code source, je c Probleme de compilateur...aidez moi qq ? [ par frysa ] Bonjour!Je prévois commencer à apprendre l'OpenGL, mais quel compilateur devrais-je utiliser pour mes prochains PGM ? J'ai en se moment Turbo c++ (com probleme avec compilateur...aidez moi qq !? [ par frysa ] Bonjour!Je prévois commencer à apprendre l'OpenGL, mais quel compilateur devrais-je utiliser pour mes prochains PGM ? J'ai en se moment Turbo c++ (com Probleme OpenGL (sphere et texture) [ par positivedreamer ] Salut,lorsque je cree une sphere texturée (avec gluSphere) la texture apparait tres bizarrement (c'est a dire tassee, ecrasee au 2 poles)Le code pour texture opengl [ par lapal ] salutje dois texturer une partie d' un fond marin(celui-ci etant affiche avec pleins de petits triangles). je n'arrive pas a texturer seulement une p OPENGL redimemsionnement [ par haklia ] Bonjour, voila g un probleme en fait :g une scene en 3D faites avec glut, et lorsque je redimensionne ma fenetre avec la souris, il y a certaine taill problème de texture opengl [ par kidpigeyre ] J'ai beau regardé je ne trouve pourquoi l'affichage de ma texture ne marche pas, Pouvez-vous m'aider?J'ai commenté au max mon projet pour qu'il soit c lire la couleur d'un point d'une texture opengl [ par kawito ] Bonjour,j'ai crée des texture opengl a partir de fichier TGA.une fois les textures crées comment puis je reccuperer les information d'un pixel de la t [probleme etats openGL] la fonction glEnabled(...) ne *fonctionne* pas! [ par nesk01 ] bjr, je suis en train d'implementer en OpenGL un jeu sur le principe des tours de Hanoï (pour un projet en cours ) le plu gro du prog est ecrit mais Couleur et texture en opengl [ par smoove5198 ] bonjour, je suis un peu newbie en opengl et je n'ai toujours pas bien compris comment faire pour colorer les objets qu'on affiche sans que cela influ


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,562 sec (4)

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