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 :

openGL, cube eclairé


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Par défaut openGL, cube eclairé
    Bonjour tout le monde,
    novice en OpenGL je souhaite coder un cube tournoyant eclairer par une source de lumiere

    pour mon cube j'ai donc creer 8 sommets et utlilser glDrawElements

    Le cube est ok et tourne bien

    Pour la lumiere il faut je crois prendre en compte les normales des 6 faces

    or je crois que les normales sont definies par sommet, sachant qu'un sommet appartient a 3 faces vous comprennez mon probleme

    dois je creer des sommets independants pour chaque face, ce qui ferait 6faces*4= 24 sommets a definir avec pour chaque quadruple de sommets une normale identique pour chaque face ?

    ce probleme(si probleme il y a) est commun je pense a chaque objet ayant plusieurs faces avec des sommets en commun

    donc si vous avez la bonne méthode je suis bien sur preneur

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il me semble que tu dois définir le type de ce qu'ils appellent une primitive :
    [ame="http://www.google.fr/search?hl=fr&q=opengl+primitives&bav=on.2,or.r_qf.&bvm=bv.48293060,d.ZG4&biw=1280&bih=619&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&tab=wi&ei=Zt7FUdWLKcishQeu8oCoCw"]opengl primitives - Recherche Google[/ame]

    Avec 3 points minimum, ça doit former un plan (plat), à partir de là, une normal est ou doit être possible.

    Pour toi, ça pourrai être un GL Quad avec 4 points par faces, soit comme tu dis, 24 points.

    Citation Envoyé par rom93 Voir le message
    Bonjour tout le monde,


    dois je creer des sommets independants pour chaque face, ce qui ferait 6faces*4= 24 sommets a definir avec pour chaque quadruple de sommets une normale identique pour chaque face ?
    Là, tu aurais 6 normales différentes.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Par défaut
    merci pour ta reponse
    j ai trouve ca egalement :
    http://www.developpez.net/forums/d20...culer-normale/

    qui indique qu il faut faire une moyenne par sommet ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ca va te paraitre incroyable, mais je n'y connait presque rien dutout en OpenGL. Je commence tout juste enfaite.
    Mais je crois que l'histoire des moyenne parait logique si la normal est effectué sur un point plutôt qu'un plan.
    Je serait tenté de dire que :
    - La normal d'un plan est donné à l'intersection des 2 diagonales d'un carrée si par exemple GL QUAD est utilisé
    - Ou la normal d'un point correspond à la moyenne des normal des plans voisins.

    Regarde ici par exemple, http://www.songho.ca/opengl/gl_vertexarray.html il montre les 3 normal un peu plus bas, mais ça semble logique je pense.

    Je t'ai fait un petit croquis (malheureusement en 2D seulement) qui ne ressemble pas à grand chose, mais l'idée est là

    Les autres te donneront de meilleurs réponses j'espère.
    Images attachées Images attachées   

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 8
    Par défaut
    merci pour tes shemas,
    je pense que je vais partir sur cette idee, ca me parait egalement de bon sens
    sur tes schémas si on additionne les 2 vecteurs des sommets d une face cela donne un vecteur orthogonale a la surface. ca marche egalement pour une surface d un cube 'en 3d)
    meme reste plus qu'a essayer

  6. #6
    Invité
    Invité(e)
    Par défaut
    La 1ère méthode n'est pas bonne enfaite. On le voit si un coté (ou une face) est plus grand(e) que l'autre. La 2ème est bonne. Voici une 3ème qui est beaucoup plus claire.
    Images attachées Images attachées  

Discussions similaires

  1. [2D/3D] OpenGL : cube qui se déforme lors du redimensionnement de la fenêtre
    Par CliffeCSTL dans le forum Débuter
    Réponses: 2
    Dernier message: 14/08/2014, 10h11
  2. C++-OpenGL: Faire marcher des cubes (walking cycle) tableau?
    Par corseb-delete dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 15/01/2007, 10h05
  3. openGL: avancer le cube vers une certaine direction
    Par darkmalak01 dans le forum Langage
    Réponses: 5
    Dernier message: 31/10/2005, 19h26
  4. Réponses: 1
    Dernier message: 26/06/2005, 17h32

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