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 :

probleme de texture sur une sphère


Sujet :

OpenGL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut probleme de texture sur une sphère
    Bonjour,

    Je réalise actuellement un petit projet pour me familiariser avec openGL.
    Ce projet est une version simplifier du système solaire (classique ), jusque là tout va bien, mes planetes (glutWireSphere) ainsi que mes satellites tournent bien. par contre j'ai voulu texturer mon soleil (gluSphere) mais j'ai un petit probleme, lorsque je fait tourner ma vue il se passe deux phénomènes :
    - lorsque je suis au dessus du plan d'équation z = 0 la texture se comporte bien (la texture de la demi-sphère supérieur est fixée)
    - lorsque je suis au dessous du plan d'équation z= 0 la texture est une sorte de mirroir de la demi-sphère supérieur, mais en plus elle est mobile .
    Si je m'approche suffisament (très près) la texture se comporte normalement. De plus lorsque la texture ne marche pas le z buffer lui aussi semble disfonctionner, mes planetes se chevauchent ...

    C'est assez étrange comme problème et je n'arrive pas à voir d'où cela vient. J'ai essayer ce programme sur deux configurations différentes (ATI & nvidia) j'exclu donc le problème matériel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // initialisation opengl
     
    	glEnable(GL_DEPTH_TEST);
    	glEnable(GL_TEXTURE_2D);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // chargement de la texture
     
    AUX_RGBImageRec *texture1;
    texture1 = auxDIBImageLoad("mars.bmp");
     
    glGenTextures (1, &texture);
    glBindTexture (GL_TEXTURE_2D, texture);
     
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
    glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_NEAREST);
     
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB16, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // fonction display
     
    	glBindTexture(GL_TEXTURE_2D, texture);
    	GLUquadricObj *Quadric1 = gluNewQuadric(); 
    	gluQuadricDrawStyle(Quadric1, GLU_FILL);
    	gluQuadricTexture(Quadric1, true);
    	gluSphere(Quadric1, 500, 40, 40); 
     
    	glDisable(GL_TEXTURE_2D);
    Voici donc mon binaire si quelqu'un veut se rendre compte du problème de façon plus concrète.
    utilisation :
    bouton gauche de la souris pour zoomer
    bouton milieu (roulette) de la souris pour faire tourner la camera
    http://proxima0.free.fr/solar.rar

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Pour le soleil, il semble que tu ais 2 sphères superposées, dont une avec des normales inversées, si tu supprimes la + grosses, cela devrait bien fonctionner

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    En fait non je n'en ai qu'une c'est sûr, c'est pour cela que ça me parait bizarre, je pense que je vais faire ma sphere moi même, ca sera peut-être plus simple à texturer correctement.

    Merci

Discussions similaires

  1. Texture animée sur une sphère
    Par j.p.mignot dans le forum OpenGL
    Réponses: 1
    Dernier message: 27/03/2014, 09h55
  2. [MySQL 4.1] probleme d'accents sur une requete SQL
    Par tatayoyo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/11/2005, 16h06
  3. Mount / fstab - Problème de droit sur une partition
    Par Chance666 dans le forum Administration système
    Réponses: 5
    Dernier message: 17/01/2005, 15h57
  4. copier une petite texture sur une grosse texture
    Par gaut dans le forum DirectX
    Réponses: 5
    Dernier message: 15/10/2004, 22h12
  5. Probleme de pointeur sur une fonction
    Par nicky78 dans le forum C
    Réponses: 2
    Dernier message: 23/05/2004, 20h26

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