IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Texture Sphere OpenGL


Sujet :

OpenGL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Texture Sphere OpenGL
    Bonjour!

    Je suis en train de batailler à plaquer une texture sur une sphere, (mon code est fourni ci dessus) Je sais pas trop quoi mettre dans mes glTexCoord2f (voir code) (j'ai essayé la formule pour l'UV mapping, pour transformer des coordonnées 3d en 2D avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x/sqrt(x²+y²+z²),y/sqrt(x²+y²+z²)
    , mais ca donne rien de bon.

    PS: je veux pas utiliser ni gluSphere, ni glutSolidSphere

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
        int i, j;
        double r=3;
        int lats=20;
        int longs=20;
        glBindTexture(GL_TEXTURE_2D, texNames[0]);
        glEnable(GL_TEXTURE_2D);
        for(i = 0; i <= lats; i++) {
          double lat0 = M_PI * (-0.5 + (double) (i - 1) / lats);
          double z0  = sin(lat0);
          double zr0 =  cos(lat0);
     
          double lat1 = M_PI * (-0.5 + (double) i / lats);
          double z1 = sin(lat1);
          double zr1 = cos(lat1);
     
          glBegin(GL_QUAD_STRIP);
          for(j = 0; j <= longs; j++) {
    	double lng = 2 * M_PI * (double) (j - 1) / longs;
    	double x = cos(lng);
    	double y = sin(lng);
     
    	glNormal3f(x * zr0, y * zr0, z0);
    	glTexCoord2f( ? , ? );
    	glVertex3f(x * zr0, y * zr0, z0);
     
           glNormal3f(x * zr1, y * zr1, z1);
           glTexCoord2f( ? , ? );
    	glVertex3f(x * zr1, y * zr1, z1);
          }
          glEnd();
        }
     
        glDisable(GL_TEXTURE_2D);

  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    c'est quoi ta formule ?
    des coordonnées de texture U/V ça varie entre 0 et 1

    si tu veux plaquer 1 seule texture sur toute ta sphere, il faut :
    - que la valeur de la coordonnée U varie de 0 à 1 autour de la circonférence de ta sphère
    - que la valeur de la coordonnée V varie de 0 à 1 d'une extrêmité (haute ou basse) de ta sphère à l'autre extrêmité

    pas de formule "compliquée" là derrière
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    merci !

    boah la formule je l'avais trouvée sur wikipedia, sans trop savoir ce que ca vallait...

    mais ca m'aide toujours pas pour savoir ce que je dois mettre dans mon glTexCoord2f...

Discussions similaires

  1. Texture SDL + OpenGL
    Par batman60 dans le forum OpenGL
    Réponses: 6
    Dernier message: 17/07/2005, 14h02
  2. TExture sphere
    Par neril dans le forum OpenGL
    Réponses: 1
    Dernier message: 15/04/2005, 20h36
  3. Incohérence des textures sous OpenGL
    Par Nicuvëo / Calëtunda dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/12/2004, 10h27
  4. texture sous opengl : objets complexes
    Par pouleriguen dans le forum OpenGL
    Réponses: 1
    Dernier message: 20/11/2004, 19h47
  5. BP avec Textures en OpenGL
    Par skyghis dans le forum OpenGL
    Réponses: 11
    Dernier message: 27/11/2003, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo