Partage
  • Partager sur Facebook
  • Partager sur Twitter

[openGL] charger et plaquer une texture avec sdlglutils de kayl

    10 juin 2007 à 1:16:43

    bonjour a tous,
    une nouvelle difficultée ce presente , c'est le chargement ou le plaquage de texture ,et au final les textures n'apparaissent pas. Je n'y arrive pas a voir ou est mon erreur , voila le code , j'ai bien inclus sdlglutils.h et sdlglutils.cpp au projet et dans le repertoire du main , ainsi que les deux textures utilisés .

    Mon linker
    -lmingw32
    -lSDLmain
    -lSDL
    ../../../../../../../ProgramFiles/Dev-Cpp/mingw32/lib/SDL_image.lib
    -lopengl32
    -lglu32

    Mon main.cpp
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include <GL/gl.h>
    #include <GL/glu.h>
    #include <cstdlib>
    #include "sdlglutils.h"



    GLuint texture1 = loadTexture("ma_texture.jpg");
    GLuint texture2 = loadTexture("sand010.jpg") ;            //on declare les textures de type GLuint
    void Dessiner();

    int main(int argc, char *argv[])
    {
       
       
       
        SDL_Event event;

        SDL_Init(SDL_INIT_VIDEO);
        atexit(SDL_Quit);
        SDL_WM_SetCaption("SDL GL Application", NULL);
        SDL_SetVideoMode(640, 480, 32, SDL_OPENGL );
       
        glEnable( GL_DEPTH_TEST );   //activation du Z-Buffer

        glMatrixMode( GL_PROJECTION );
        glLoadIdentity();
        gluPerspective(70,(double)640/480,1,1000);

        Dessiner();

                                     
         
    /*---------------------------------Creation d'une image-------------------------------------------------------*/   
        for (;;)
        {
            while(SDL_PollEvent(&event))
            {
                       SDL_PollEvent(&event);

                       switch(event.type)
                       {
                               case SDL_QUIT:
                                    exit(0);
                                    break;
                               case SDL_KEYDOWN:
                                    switch(event.key.keysym.sym)
                                    {
                                                case SDLK_ESCAPE:
                                                     exit(0);
                                                     break;               
                                    }
                                    break;
                       }
                       
            }
           
            Dessiner();
           
       
        }
        /*--------------------------------Fin de la creation de l'image------------------------------------------*/

        return 0;
    }

    void Dessiner()
    {
       
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
        glMatrixMode( GL_MODELVIEW );
        glLoadIdentity( );

        gluLookAt(3,3,3,0,0,0,0,0,1);
       
        /* Dessin 3D */
       
        glEnable( GL_DEPTH_TEST );
        glEnable( GL_TEXTURE_2D );
       
        glBindTexture( GL_TEXTURE_2D , texture1 );
        glBegin( GL_QUADS );
        glTexCoord2d(0,1);   glVertex3d(1,1,1);   
        glTexCoord2d(0,0);   glVertex3d(1,1,-1);
        glTexCoord2d(1,0);   glVertex3d(-1,1,-1);
        glTexCoord2d(1,1);   glVertex3d(-1,1,1);
        glEnd();
       
        glBindTexture( GL_TEXTURE_2D , texture2 );
        glBegin( GL_QUADS );
        glTexCoord2d(1,0);      glVertex3d(1,-1,1);
        glTexCoord2d(0,0);      glVertex3d(1,1,1);
        glTexCoord2d(0,1);      glVertex3d(1,1,-1);
        glTexCoord2d(1,1);      glVertex3d(1,-1,-1);
        glEnd();
       
        glFlush();
        SDL_GL_SwapBuffers();
       
    }



    Et mon resultat null
    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2007 à 8:09:46

      j'ais mis
      GLuint texture1 = loadTexture("ma_texture.jpg"); GLuint texture2 = loadTexture("sand010.jpg") ;
      apres
      SDL_SetVideoMode(,,,SDL_OPENGL);
      le même probleme , g ressayé a plsieurs endroits , mes textures n'apparaissent toujours pas
      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2007 à 8:40:59

        Fais comme le code de Kayl, laisses tes variables globales mais charges-les que dans le main.
        • Partager sur Facebook
        • Partager sur Twitter
          12 juin 2007 à 17:21:19

          c'est bon enfaite j'avais oublié de mettre la dll jpeg.dll :lol: pour mes textures dans le repertoire du projet je suis ptdr . merci Yno pour ton soutient .(ce message a été edité car je ne peut pas poster deux fois de suite en moins de 24h)
          • Partager sur Facebook
          • Partager sur Twitter

          [openGL] charger et plaquer une texture avec sdlglutils de kayl

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown