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 :

creation d'un volume avec placage de texture(opengl)


Sujet :

OpenGL

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut creation d'un volume avec placage de texture(opengl)
    bonjour!!!
    voila,je debute en opengl et dans le cadre de mon projet portant sur le traitement d'image medicale j'essaye de charger mon dataset dans une succession de carre ou je plaque à chaque fois mon image 2D.
    mon probleme est que lors de l'affichage j'ai un espace entre les coupes qui me gene.je me demande est ce qu'il ya un moyen de plaquer les texture tout en agissant sur l'epaisseur de la texture .
    voila ma fonction de plaquage:
    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
     
    //fonction de chargement du volume
    for (int i=0;i<256;i++)
    {
    	glTranslated(0.0,0.0,-0.05);
        glBindTexture(GL_TEXTURE_2D, num_textur[i]);
        glBegin(GL_QUADS) ;
    	glTexCoord2f(0.0,0.0); glVertex3f(-5.0, 5.0, 5.0);
    	glTexCoord2f(0.0,1.0); glVertex3f(-5.0,-5.0, 5.0);
    	glTexCoord2f(1.0,1.0); glVertex3f( 5.0,-5.0, 5.0);
    	glTexCoord2f(1.0,0.0); glVertex3f( 5.0, 5.0, 5.0);
        glEnd();
    }
    ////////         paramettrage de la texture
    glGenTextures(257,num_textur);
    	 for  (int G=0;G<256;G++) 
    	 {
           glBindTexture(GL_TEXTURE_2D, num_textur[G]);
    	   glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR);
           //glPixelStorei(GL_UNPACK_ALIGNMENT,1);
           gluBuild2DMipmaps(GL_TEXTURE_2D, GL_LUMINANCE, 119,256 ,GL_LUMINANCE, GL_UNSIGNED_BYTE, SAG3D[G]);
           glEnable(GL_TEXTURE_2D);
    	 }
    svp c'est tres urgent

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Par défaut
    Pourrais tu montrer une image de ce que tu obtiens et une autre de ce que tu dois avoir.

    J'ai un peu de mal à comprendre le problème.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2009
    Messages : 29
    Par défaut
    Citation Envoyé par soubel Voir le message
    tout en agissant sur l'epaisseur de la texture .
    Tu bosses avec des textures 3d ?

    +1 pour syl_20

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut
    Citation Envoyé par Syl_20 Voir le message
    Pourrais tu montrer une image de ce que tu obtiens et une autre de ce que tu dois avoir.

    J'ai un peu de mal à comprendre le problème.
    voila l'image que j'obtient avec mon programme et l'autre (celle de la coupe axiale) .
    je travail avec un plaquage de texture 2D pour en faire un volume 3D.
    bon, ce que je fait exactement est:
    plaquer à chaque fois une image 2D de mon dataset dans un nouveau carre tout en translatant d'un pas de 0.05.
    j'espere que l'explication est plus clair maintenent.merci pour vos reponses
    Fichiers attachés Fichiers attachés

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Par défaut
    Citation Envoyé par Zouch-K Voir le message
    Tu bosses avec des textures 3d ?

    +1 pour syl_20
    au faite c'etait une idee de travailler avec plusieurs texture 2D pour en formée un volume .mais j'ai trouver un cours sur opengl qui parle de plaquage de texture 3D et c'est justement applique en imagerie medicale. est ce que vous connaissez ce que veux dire ,ou si vous avez un tuto qui parle de ça.
    merci pour votre reponse
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Par défaut
    Citation Envoyé par soubel Voir le message
    au faite c'etait une idee de travailler avec plusieurs texture 2D pour en formée un volume .mais j'ai trouver un cours sur opengl qui parle de plaquage de texture 3D et c'est justement applique en imagerie medicale. est ce que vous connaissez ce que veux dire ,ou si vous avez un tuto qui parle de ça.
    merci pour votre reponse
    Ton image de résultat est vraiment très bizarre. Si tu n'affiche qu'une seule de tes images, est ce que tu obtients quelque chose de correct??

    Pour ton projet ,tu devrais créer une texture 3D avec tes textures 2D. Je n'ai pas de tuto sous la main, mais ce n'est pas très compliqué.
    Une textures 3D a trois composante de: x, y, z (logique) et il faut utiliser GL_TEXTURE_3D, pour faire simple utiliser les fonctions avec comme nom TEXTURE_3D dedans à la place de machin TEXTURE_2D.

  7. #7
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Il faut que tu utilises une texture 3D et que tu appliques l'une des deux techniques suivantes:
    - rendu par slices, comme tu fais actuellement MAIS avec les slices paralleles au plan de l'ecran et non pas orientees en fonction de l'objet pour eviter l'artefact que tu as sur ton image ;
    - rendu par raycaster, plus performant mais un peu plus "complique".

    Cherche sur internet slice volume rendering et tu trouveras de quoi t'occuper.

Discussions similaires

  1. [NetBeans] Création de l'éxé avec Netbeans 3.6
    Par daweed dans le forum NetBeans
    Réponses: 4
    Dernier message: 13/04/2010, 12h37
  2. Cube avec 8 Vertex + textures
    Par mister3957 dans le forum DirectX
    Réponses: 2
    Dernier message: 23/11/2005, 23h31
  3. Creation d'une table avec plusieurs clés
    Par mic79 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/06/2005, 11h17
  4. Empecher la création de fichier backup avec vi
    Par Noki dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 12/11/2004, 14h44
  5. [Creation composant visuel] Problème avec le focus
    Par Ingham dans le forum Composants VCL
    Réponses: 9
    Dernier message: 23/09/2004, 16h59

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