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 :

Les objets en opengl ?


Sujet :

OpenGL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Les objets en opengl ?
    Salut à tous,

    En fait,je voulais vous demander ce qu'il en est des objets avec opengl ?

    Je m'explique:

    En fait, l'utilisateur entre un nombre n (on va dire qu'il est <50 p.ex).

    Supposons que j'ai une classe :
    class sphere
    {
    int i,int j;
    public:
    movTo(int k,int l);
    };

    une manière simple de déclarer N sphere est :

    sphere A[N];

    si je veux accéder à la ième sphère , je fais A[i] et si je veux faire bouger la sphere i à la position (m,n), il suffit que je fasse :

    A[i].movTo(m,n).

    En fait, j'aimerais vraiment pouvoir faire ça MAIS plusieurs problèmes se posent avec opengl ...


    le problème principal ici, c'est le fait que pour par exemple afficher tous les éléments, je dois parcourir tout le vecteur. DOnc , graphiquement on verrait que l'un est affiché avant l'autre ...

    Le deuxième problème , c'est qu'opengl ne permet pas de faire ceci .

    IL y'a d'autres problèmes mais bon ...


    En bref, ma question est :

    Comment faire pour pouvoir afficher n éléments (n entré par l'utilisateur) et pouvoir aussi les manipuler indépendemment ...

    Parce que avec les translates, ils sont dépendent l'un de l'autre ...

    SI vous avez un tuto qui parle de ça ou si vous avez une idée, ce serait cool parce que c'est pour un projet ....


    Merci.

    P.s: si vous ne m'avez pas bien compris -> dsl.
    Posez moi d'autres questions si'l le faut .

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Hmm, je suis débutant en OpenGL alors tout ce que je peux dire est sujet à caution...

    le problème principal ici, c'est le fait que pour par exemple afficher tous les éléments, je dois parcourir tout le vecteur. DOnc , graphiquement on verrait que l'un est affiché avant l'autre ...
    Là je ne suis pas sur d'avoir compris où se situait le problème...

    Pour afficher toutes les sphères contenues dans le vecteur, il faudra bien les afficher les unes après les autres non ?

    Remarque... si on dessine toutes les sphères dans le "back-buffer" (celui où on dessine avant d'afficher) ca permet surement de tout afficher d'un coup...

    En passant, les "display lists", c'est bien quand on à pleins d'objets semblables à afficher.

    Comment faire pour pouvoir afficher n éléments (n entré par l'utilisateur) et pouvoir aussi les manipuler indépendemment ...
    Je me suis poser cette question récemment, en tant que nouveau pratiquant d'openGL.

    Si j'ai bien compris, on peut "nommer" des objets, ce qu permet alors de les choisir indépendamment. La plupart du temps, tout cela est expliqué dans les tutoriaux sur le "picking" avec la souris, mais je pense que si l'on veut choisir soit-même l'objet (programmatiquement, j'entends) cela revient au même sans tous les tests de hits à la souris.

    Pour le "nommage" d'objet ca commence avec glLoadName(), mais il y a bien sur pleins de fonctions affiliées (notamment glRenderMode() avec le param GL_SELECT).

    Le chapitre 12 du RedBook ("selection and feedback") est bien documenté là-dessus :

    http://www.rush3d.com/reference/opengl-redbook-1.1/chapter12.html

    Qques autres exemples :

    http://www.lighthouse3d.com/opengl/picking/
    http://gpwiki.org/index.php/OpenGL:Tutorialsicking


    J'espère ne pas avoir répondu à coté de la plaque... si c'est le cas je m'en excuse d'avance...

    P.S: bon réveillon

  3. #3
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    Février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut Re: Les objets en opengl ?
    Citation Envoyé par virusman
    le problème principal ici, c'est le fait que pour par exemple afficher tous les éléments, je dois parcourir tout le vecteur. Donc , graphiquement on verrait que l'un est affiché avant l'autre ...
    Non graphiquement tu ne verrais pas cela car tout est écris dans le back buffer qui une fois totalement rempli switchera avec le buffer actuellement en place. ça s'appelle le double buffering.
    De plus utilise plutot des vertex array c'est beaucoup plus propre et plus efficace pour le traitement de tes vertices.

    Citation Envoyé par virusman
    Comment faire pour pouvoir afficher n éléments (n entré par l'utilisateur) et pouvoir aussi les manipuler indépendemment ...

    Parce que avec les translates, ils sont dépendent l'un de l'autre ...
    Non tu peux appliquer une transformation à chaque sphere indépendemment des transformations précédentes à travers les stack de matrices (glPushMatrix, glPopMatrix) ou remettre la matrice à l'identité pour ne plus appliquer la transformation précédemment calculée.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci à vous .

    je me demandais juste une chose : est ce que le picking est rapide ?

Discussions similaires

  1. récupérer les mésures d'un objet en opengl
    Par info_amel dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/12/2011, 09h34
  2. bibliothèque pour manipuler les objets 3D d'OpenGL
    Par choko83 dans le forum OpenGL
    Réponses: 10
    Dernier message: 21/05/2008, 23h38
  3. Réponses: 5
    Dernier message: 24/04/2005, 04h09
  4. Réponses: 10
    Dernier message: 19/05/2004, 11h41
  5. Rafraichissement de la fiche ainsi que de tous les objets
    Par portu dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/01/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