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 :

Stratégie d'hiérarchisation de différentes méthodes de passage de vertices


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Par défaut Stratégie d'hiérarchisation de différentes méthodes de passage de vertices
    (Long titre mais précis)
    Je suis en train de retravailler un peu mes bases sous OpenGL, essentiellement en vue de passer à OpenGL|ES pour un prochain projet, et je me demandais s'il était envisageable semblable à celle-ci:

    Une interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Renderable
    {
    public:
      virtual render();
    };
     
    typedef boost::shared_ptr<Renderable> RenderablePtr;
    dont héritent les classes utilitaires.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class RenderableVA : public Renderable {}; //rendu avec Vertex Array
    class RenderableVBO : public Renderable {}; //rendu avec VBO
    class RenderableDL : public Renderable {}; //rendu avec DisplayList
    class RenderableDirect : public Renderable {}; //rendu avec les glBegin/glEnd etc.
    Vu que le rendu direct avec glBegin/glEnd va jarter avec OpenGL 3.0, ca me laisse la liberté de l'implémenter ou pas (et si implmentation il y a, juste pour debugger).

    Qu'est-ce que vous pensez de ce genre d'hiérarchie?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    L'idée est là, abstraire ce qui va pouvoir être implémenter de différentes façons. Par contre je pense que le concept de Renderable est trop générique par rapport à ce que tu veux abstraire (stockage de la géometrie). Moi j'aurais plutôt fait une classe abstraite VertexBuffer, ou Geometry, avec toutes ses spécialisations, et la classe Renderable aurait été une classe concrète possédant un VertexBuffer (ou Geometry) en donnée membre.

  3. #3
    Membre éclairé
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Par défaut
    C'est une facon aussi. En fait, je pensais garder dans une implémentation de Renderable juste le strict nécessaire au rendu.
    Par exemple, dans le cas d'un RenderableDL, juste l'ID de la DisplayList associé, ou dans le cas du VA, juste le pointeur vers les vertices (plus la taille, le format etc).

    Les objets Renderables seront aussi créés à partir de différentes Factories, qui elles recevront la Geometrie en paramètre.

Discussions similaires

  1. DLL : création, différentes méthodes ?
    Par italiasky dans le forum C++
    Réponses: 6
    Dernier message: 02/12/2008, 17h10
  2. Différentes méthodes d'affichage d'un bitmap
    Par atomicJo dans le forum MFC
    Réponses: 5
    Dernier message: 07/02/2008, 19h06
  3. Différentes méthodes de détermination du zéro d'une fonction
    Par Desperados dans le forum Mathématiques
    Réponses: 4
    Dernier message: 30/05/2006, 22h29
  4. [STRUTS]Méthode Reset passage de paramètre
    Par Scheutman dans le forum Struts 1
    Réponses: 1
    Dernier message: 13/03/2006, 00h42
  5. Réponses: 6
    Dernier message: 27/07/2005, 09h06

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