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 :

deux probleme:vue 2d et création par clic


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut deux probleme:vue 2d et création par clic
    slt

    j'ai fait une scène 3d avec opengl , et maintenant je veux savoir comment.

    1.rendre la vue en 2d ??? car dans le menu que j'ai fait l'utilisateur à le choix entre une vue 2d ou 3d ???

    est ce que je joue sur gllookat ???

    2.si je vais faire la création par clic , je possède une fonction Panel1MouseDown(TObject *Sender,
    TMouseButton Button, TShiftState Shift, int X, int Y)

    telque X,Y sont les coordonnées d'où on a cliquer . comment savoir les coordonnées correspond au opengl ?!


    merci d'avance

  2. #2
    Membre éprouvé Avatar de Harooold
    Homme Profil pro
    Ingénieur 3D temps réel
    Inscrit en
    Mars 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 136
    Par défaut
    Salut,

    1)
    Ca dépend de ce que tu appelles 2D dans ton application. Si c'est juste une vue de dessus dont tu bloques la caméra pour ne voir la scène que sur l'axe XZ par exemple, juste jouer avec gluLookAt suffit.
    Si tu veux que ça soit de la vraie 2D alors il va falloir passer par le mode orthogonal ( glOrtho ), qui va définir un volume de vision rectangulaire (et non pyramidale comme en perspective ), mais il faudra que tu changes quelques lignes de codes pour adapter ton programme à la 2D.
    ( Je crois que gluOrtho2D facilite la tache, mais je ne l'ai jamais utilisé, je ne peux pas dire :p

    2)
    Si tu es en vrai mode 2D, alors X Y correspond aussi au X Y dans ta scène.
    Si tu es en 3D, tu fais une projection 3D des coordonées, ça te donnera le X Y en 3D et le Z peut être quelconque.
    Ta projection sera juste camera_projection * camera_modelview.

    Bon courage

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    Citation Envoyé par Harooold Voir le message
    Salut,

    1)
    Ca dépend de ce que tu appelles 2D dans ton application. Si c'est juste une vue de dessus dont tu bloques la caméra pour ne voir la scène que sur l'axe XZ par exemple, juste jouer avec gluLookAt suffit.
    Si tu veux que ça soit de la vraie 2D alors il va falloir passer par le mode orthogonal ( glOrtho ), qui va définir un volume de vision rectangulaire (et non pyramidale comme en perspective ), mais il faudra que tu changes quelques lignes de codes pour adapter ton programme à la 2D.
    ( Je crois que gluOrtho2D facilite la tache, mais je ne l'ai jamais utilisé, je ne peux pas dire :p
    MERCI j'ai essayer avec glortho et ça marche bien

    Citation Envoyé par Harooold Voir le message

    2)
    Si tu es en vrai mode 2D, alors X Y correspond aussi au X Y dans ta scène.
    Si tu es en 3D, tu fais une projection 3D des coordonées, ça te donnera le X Y en 3D et le Z peut être quelconque.
    Ta projection sera juste camera_projection * camera_modelview.

    Bon courage
    je vais voir ça

    merci

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    salut

    je n'ai pas arriver de résoudre mon 2eme problème

    peut tu m'explique plus ?

  5. #5
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    « Z peut être quelconque »

    Il déterminera la distance depuis la caméra, pour la position 3D.

    « je n'ai pas arriver de résoudre mon 2eme problème
    peut tu m'explique plus ? »

    C'est où que tu bloques ? Une chose en particulier ?

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 168
    Par défaut
    le problème est quand je clic sur le panel (ou la scène est affichée) , la fonction suivant s'exécute .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void __fastcall TFormMain::Panel1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    x1=X;
    y1=Y;
    dessiner un cube dans le point (x1,y1,z1);
     
    }
    voila , quand je clic , le cube ne s'affiche pas ou je clic !!! ce qui veux dire que les coordonnés du panel ne sont pas les mêmes que opengl . et même l'unité de mesure à mon avis , non ???!!!!

Discussions similaires

  1. [AC-2007] création formulaires superposés avec onglets d'accès par clic
    Par jedebute58 dans le forum Access
    Réponses: 2
    Dernier message: 18/02/2015, 22h48
  2. [ZF 1.7] Probleme lors de la création d'une aide de vue
    Par miya dans le forum Zend Framework
    Réponses: 6
    Dernier message: 01/06/2009, 23h03
  3. probleme lors d'une création d'animation par le code
    Par Finality dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 13/10/2008, 21h12
  4. sélection d'une ligne DBGrid par clic
    Par duffman dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/05/2004, 13h45
  5. Selection par clic de souris
    Par bilbonec dans le forum OpenGL
    Réponses: 7
    Dernier message: 16/04/2004, 00h25

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