Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de texture avec openGL

la texture ne s'affiche pas sur ma shpère

    29 août 2007 à 11:33:12



    J'aimerais appliquer une texture a maTerre. Mon seul problème cest que cela ne marche pas. Voila encore mon code :


    Code :
    1. #include <SDL/SDL.h>
    2. #include <GL/gl.h>
    3. #include <GL/glu.h>
    4. #include <cstdlib>
    5. #include <SDL/SDL_image.h>
    6. #include "sdlglutils.h"
    7. void DessinerSoleil();
    8. void DessinerTerre();
    9. GLuint terre;
    10. int main(int argc, char *argv[])
    11. {
    12.     SDL_Init(SDL_INIT_VIDEO);
    13.     SDL_WM_SetCaption("systeme solaire",NULL);
    14.     SDL_SetVideoMode(1050,800,32,SDL_OPENGL);
    15.     glMatrixMode( GL_PROJECTION );
    16.     glLoadIdentity();
    17.     gluPerspective(145,(double)1050/820,1,1000);
    18.     glEnable(GL_DEPTH_TEST);
    19.     glEnable(GL_TEXTURE_2D);
    20.     terre = loadTexture("EarthLow.jpg");
    21.     SDL_Event event;
    22.     glEnable(GL_DEPTH_TEST);
    23.     DessinerSoleil();
    24.     bool continuer = true;
    25.     while(continuer)
    26.     {
    27.           SDL_WaitEvent(&event);
    28.           switch(event.type)
    29.           {
    30.                 case SDL_QUIT:
    31.                 continuer = false;
    32.           }
    33.           DessinerSoleil();
    34.     }        
    35.     SDL_Quit();
    36.     return 0;
    37. }
    38. void DessinerSoleil()
    39. {
    40.          glPushMatrix();
    41.          glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    42.          glMatrixMode( GL_MODELVIEW );
    43.          glLoadIdentity( );
    44.          glPushMatrix();
    45.          GLUquadric* params = gluNewQuadric();
    46.          gluQuadricTexture(params,GL_TRUE);
    47.          glBindTexture(GL_TEXTURE_2D,terre);
    48.          gluSphere(params,1.1,20,20);
    49.          gluDeleteQuadric(params);
    50.          gluLookAt(10,10,10,0,0,0,0,0,1);
    51.          glPopMatrix();
    52.          glFlush();
    53.          SDL_GL_SwapBuffers();
    54. }
    • Partager sur Facebook
    • Partager sur Twitter
      30 août 2007 à 19:55:52

      Bonjour,

      Je ne connais pas très bien OpenGL, mais ne doit on pas affecter les UV de la texture à chaque vertex de ton objet ? car pour moi cela semble normal que ca ne marche pas.

      (j'ai peut-être zappé une partie en même temps)
      • Partager sur Facebook
      • Partager sur Twitter
        30 août 2007 à 20:07:00

        Non pas besoin c'est un quadrique.

        Par contre il faut dessiner APRES l'appel à glulookat(...)

        A+
        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
          31 août 2007 à 17:58:03

          marche pas. Je dois avoir une erreure dans l'image. Bref je vais voir. Merci quand même!
          • Partager sur Facebook
          • Partager sur Twitter
            3 septembre 2007 à 12:35:46

            1. void DessinerSoleil()
            2. {
            3.          glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
            4.          glMatrixMode( GL_MODELVIEW );
            5.          glLoadIdentity( );
            6.          gluLookAt(10,10,10,0,0,0,0,0,1);
            7.          GLUquadric* params = gluNewQuadric();
            8.          gluQuadricTexture(params,GL_TRUE);
            9.          glBindTexture(GL_TEXTURE_2D,terre);
            10.          gluSphere(params,1.1,20,20);
            11.          gluDeleteQuadric(params);
            12.          glPopMatrix();
            13.          glFlush();
            14.          SDL_GL_SwapBuffers();
            15. }


            essaye sa
            • Partager sur Facebook
            • Partager sur Twitter

            problème de texture avec openGL

            × 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