begin process at 2012 05 28 08:35:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

CLASSE SDL JPEG (OPENGL)


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

CLASSE SDL JPEG (OPENGL)

vendredi 3 février 2006 à 13:47:29 | CLASSE SDL JPEG (OPENGL)

Batman60

au secours je n'arrive pas à afficher la texture voulue sur les faces choisie du cube
LE CLASSE .H:
 class Csdl
{
    public:
 
    Csdl();
    ~Csdl();       

void LoadTexture(const char *);

void glBindTexture( GLenum , GLuint );

   GLuint texture_name;
   GLuint texName[10];          
                                              
}; 

LE  CLASSE.CPP:
 Csdl::Csdl()
{
   GLuint texture_name;
   GLuint texName[10];
}
Csdl::~Csdl()
{
   GLuint texture_name;
   GLuint texName[10];         
}
void Csdl::LoadTexture(const char*file)
{
        SDL_Surface *image=IMG_Load(file);          
   
    if (image==NULL)
    {
       MessageBox(NULL,"Image pas chargée","debug",MB_ICONSTOP|MB_OK);
    }
                                   
    glGenTextures(1,&texture_name);
                               
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);   
    gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->w, image->h,
    GL_RGB, GL_UNSIGNED_BYTE, image->pixels);
              
    glEnable(GL_TEXTURE_2D);                                            
}
 
void Csdl::glBindTexture( GLenum target, GLuint texture)
{}

MAIN.CPP dans   void RePaint ():
jpeg1.glBindTexture(GL_TEXTURE_2D,jpeg1.texName[0]);
    glBegin(GL_POLYGON);     
         glTexCoord2f(1.0,1.0);glVertex3f(-0.5,0.5,0.5);
         glTexCoord2f(0.0,1.0);glVertex3f(-0.5,-0.5,0.5);
         glTexCoord2f(0.0,0.0);glVertex3f(0.5,-0.5,0.5);
         glTexCoord2f(1.0,0.0);glVertex3f(0.5,0.5,0.5);
    glEnd();
   
    jpeg2.glBindTexture(GL_TEXTURE_2D,jpeg2.texName[1]);
    glBegin(GL_POLYGON);     
         glTexCoord2f(0.0,1.0);glVertex3f(0.5,0.5,0.5);
         glTexCoord2f(0.0,0.0);glVertex3f(0.5,-0.5,0.5);
         glTexCoord2f(1.0,0.0);glVertex3f(0.5,-0.5,-0.5);
         glTexCoord2f(1.0,1.0);glVertex3f(0.5,0.5,-0.5);
    glEnd();

DANS  case WM_CREATE:
        jpeg1.LoadTexture("photo2.jpg");
        jpeg2.LoadTexture("photo3.jpg");

Le problème c'est qu'il n'y a que la "photo3.jpg" qui s'afiche sur toutes les faces du cube
pourquoi

vendredi 3 février 2006 à 17:45:23 | Re : CLASSE SDL JPEG (OPENGL)

MrdJack

deja faudrai savoir si tu utilises texName ou si tu utilises texture_name....

car d'un coté tu crées la texture dans la zone memoire pointée par texture_name et puis d'un autre, tu  appelles la texture dans la fonction glBindTexture() avec texName alors faudrais savoir...
 a moins qu'il n'y ai un truc qu'on ne voit pas dans le post, mais là je me demande comment t'a réussi a afficher la deuxieme de cette maniere...

et pûis je suppose que tu declares jpeg1 et jpeg2 comme suit :
Csdl jpeg1;
Csdl jpeg2;

donc ca veux dire deux instances de classe Csdl si je me trompe pas...
donc en gros, dans chaque classe, il y a un texName[10] de declaré,
ya un autre hic là... car tu melanges les deux instances de classes nommées jpeg1 et jpeg2...


sinon, LA question existantiele de ce post est pourquoi veux tu mettre chaque image dans une classe différente ?!?
un conseil utile, mets un autre parametre dans loadTexture() indiquant dans quels id sera enregistré l'image.
et puis tu ne feras qu'un appel vers cette classe que tu nommera textures par exemple (j'insiste sur le pluriel car chaque texture sera chargée dasn cette classe et non pas une classe par texture qui sert a rien a part t'embrouiller.
va faire un tour sur le site de NeHe, faudrait que tu revoie les tutos ca te ferai pas de mal !

bref revoies un peu tout ca et donnes nous de tes nouvelles

@++



samedi 11 février 2006 à 16:24:21 | Re : CLASSE SDL JPEG (OPENGL)

Batman60

salut
merci MrdJack de m'avoir répondu mais entre temps j'ai résolu le problème comme ceci:

dans le ".h"

class Csdl
{
   public:  
GLuint texture_name;
 
void LoadTexture(const char*file,GLuint texture)
     {
        SDL_Surface *image=IMG_Load(file);          
   
    if (image==NULL)
    {
       MessageBox(NULL,"Image pas chargée","debug",MB_ICONSTOP|MB_OK);
    }                                                               
    glGenTextures(1,&texture_name);
    glBindTexture(GL_TEXTURE_2D,texture);      
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);   
    gluBuild2DMipmaps(GL_TEXTURE_2D, 3, image->w, image->h,
    GL_RGB, GL_UNSIGNED_BYTE, image->pixels);
                  
    glEnable(GL_TEXTURE_2D);
    }                                                            
};

et puis dans le".cpp":
glBindTexture(GL_TEXTURE_2D,1);
    glBegin(GL_POLYGON);
     
         glTexCoord2f(1.0,1.0);glVertex3f(-0.5,0.5,0.5);
         glTexCoord2f(0.0,1.0);glVertex3f(-0.5,-0.5,0.5);
         glTexCoord2f(0.0,0.0);glVertex3f(0.5,-0.5,0.5);
         glTexCoord2f(1.0,0.0);glVertex3f(0.5,0.5,0.5);
    glEnd();



jpeg1.LoadTexture("photo1.jpg",1);

ca rejoint ce que tu m'a dit je pense.
comme je suis débutant c'est ma première création de classe


Cette discussion est classée dans : gl, texture, gltexcoord2f, csdl, gluint


Répondre à ce message

Sujets en rapport avec ce message

BMP Transparante [ par barraq ] Voila j'ai un petit soucis de transparance avec les images BMP J'afficher mes arbres en utilisant le format TGA, mais la transparance ne semble marche 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 transparence en OpenGl [ par F0ra ] Bonjour, J'ai un problème en OpenGl Je voudrais rendre uniquement la couleur rose< Problème de placage de texture [ par unrealgun ] Bonjour,Je suis en train de développer uGUI en C++ sous linux avec SDL et OpenGL.Voila mon probleme : je charge une image PNG transparente avec SDL_Im capture d'écran et plaquage sur un quad [ par Fr33z ] Bonjour à tous. Après avoir bien cherché sur internet divers tutoriaux, aides, et manuels, je n'ai toujours pas compris comment a partir d'un écran, [OpenGL] rotation [ par F0ra ] Bonjour,J'ai un problème pour réaliser une rotation en OpenGL au centre du rectangle.J'ai esayé avec glRotatef(ang,0.0,0.0,1.0);  le problème l'origni Texture avec OpenGl [ par Zakata ] Bonjour,Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai [opengl] texture avec une couleur transparente [ par lafouine1986 ] Bonjour à toutes et tous,voilà je me permets de vous demander de l'aide car je suis comme bloqué...Je désire créer un opengl un arbre de type imposteu [Débutant][OpenGL ES] Problème affichage textures [ par Niicoo ] Bonjour tout le monde,Je dois faire un jeu en OpenGL ES (Objective-c) pour IPhone.Je dois afficher une texture sur un carré (2D). Ça pas de soucis, j' OpenGL et textures [ par Jackyzgood ] Bonjour à tous ! Maintenant que je commence à être à l'aise en SDL, je me suis dis : ça pourrait être bien de passer à l'OpenGL. J'ai suivis un tuto


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 : 1,014 sec (3)

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