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 :

Besoin de lumières sur les VBO et le texturing s.v.p.


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    la_tupac
    Invité(e)
    Par défaut Besoin de lumières sur les VBO et le texturing s.v.p.
    Salut, je me prends la tête depuis quelques jours a fouiller le web pour trouver un exemple de textures appliquées sur VBO et malgré les deux-trois codes qui correspondent à ma recherche, je n'ai pas réussi à les appliquer à mon projet.
    En plus, je trouve des contradictions, sur l'utilisation des PBO par example. Un gazier me sort que mapper ses textures en PBO augmente les performances, un autre que le seul moyen est un shader pour texturer les VBO, et un autre raconte que l'API se charge toute seule de mapper les textures en Vram lors de la génération.
    C'est pour cette raison que je fais appel à des gens compétents (vous )
    Pour résumer voila ou j'en suis:
    Mes mesh sont affichés avec des VBO entrelacés (vertex,normale,texcoord) et sans textures ca marche à merveille.
    C'est clair que je suis assez paumé mais si quelqu'un pouvait m'éclairer sur la bonne façon de procéder je lui en serais très reconnaissant.

    merci.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 156
    Billets dans le blog
    151
    Par défaut
    Bonjour,

    POur appliquer des textures ( dans un VBO ) ou un VBO en texture, c'est la même chose ( tuto N°6 de NeHe ).
    Je veux dire que par là, il faut:

    - Selectionner la texture
    - L'appiquer ( tex coords )
    - La deselectionner

    Et voilà

    Je ne vois pas ou est le problème ... ( à part si la texture est invalide ) ( on peut le savoir avec glGetError() )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    la_tupac
    Invité(e)
    Par défaut
    merci White, tu confirme ce que je pensais. Mais la lesson 6 de nehe ne traite pas de VBO, seulement de rendu opengl standard. Et je n'ai pas de soucis pour texturer avec des glTexCoords().
    Je ne sais pas si je suis assez clair donc mon soucis est que si je Bind ma texture (qui march niquelle), ca fonctionne avec un rendu glTexCoord();glVertex(). Mais avec un vbo, mon mesh est noir. Et mon mesh en vbo sans texture s'affiche bien.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 156
    Billets dans le blog
    151
    Par défaut
    De mémoire, je n'ai jamais fait de texture dans un VBO, mais je ne vois pas pourquoi il y aurai un problème, vu que VBO veut juste dire que l'on choisie une texture pour faire le rendu ( et non l'écran ).

    Après peut être que cela crée conflit avec les différent selection des textures / textures utilisé par le VBO
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Bonjour,

    vu que VBO veut juste dire que l'on choisie une texture pour faire le rendu ( et non l'écran )
    eug je crois que tu confonds VBO et FBO Littlewhite:

    - VBO = Vertex buffer object, pour stocker la geometrie
    - FBO = Frame buffer object, pour faire du rendu offscreen ou dans une texture

    Sinon la_tupac, pour afficher un object texturé avec les VBOs, il faut activer le "client state" correspondant, ansi que les pointeurs qui vont avec, et enfin le texturing:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    glEnableClientState(GL_TEXTURE_COORDINATES_ARRAY);
    glTexCoordpointer(....);
    glEnable(GL_TEXTURE_2D);
    glBindTexture(....);
     
    <dessin>

  6. #6
    la_tupac
    Invité(e)
    Par défaut
    Tout a fait, les VBO servent uniquement à la géométrie.
    En tout cas j'ai bien activé le client state mais le nom diffère un peut. (je pense que c'est une erreur de ta part).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    Mais en voyant ton example, une question me taraude: faut-il lancer glEnable(GL_TEXTURE_2D) après le EnableClientState ?
    le BindTexture() aussi ?

Discussions similaires

  1. Besoin de Lumière sur les Licences d'Accés Client
    Par taz61 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 26/09/2007, 14h35
  2. Besoin d'aide sur les fonction d'interbase
    Par BOUBOU81 dans le forum InterBase
    Réponses: 2
    Dernier message: 05/11/2004, 10h00
  3. besoin d'aide sur les ORB
    Par floorfille dans le forum CORBA
    Réponses: 4
    Dernier message: 24/08/2004, 15h43
  4. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

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