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 :

Lumières et OpenGL


Sujet :

OpenGL

  1. #1
    pot
    pot est déconnecté
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Par défaut Lumières et OpenGL
    Salut !
    Je me suis lancé dans les lumières, mais le problème, c'est que ça donne ça... Est ce que quelqu'un a déjà eu le même problème ? Je peux pas donner de code, car il est un peu long


  2. #2
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Par défaut
    Salut,


    Je ne vois pas de problème sur l'image ...
    Pourrais-tu expliciter un peu ce que tu voudrais afficher ?
    Peut-être en mettant le "shade model" à GL_SMOOTH tu aurais une surface plus "arrondie". Tu pourrais également essayer d'éloigner un peu la lumière de la sphère.

  3. #3
    pot
    pot est déconnecté
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Par défaut
    glshademodel est déjà en GL_SMOOTH...
    Sinon, moi je le vois le problème La lumière est horrible ! Même en l'éloigant, ça fait pareil...
    Ce que souhaite avoir, c'est ça (le nombre de polygone est le même):


  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 8
    Par défaut
    yop,

    il faut utiliser les normales. les lumieres opengl en ont besoin.

    @+

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    je dirait même plus : il faut utiliser une normal par vertex
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  6. #6
    pot
    pot est déconnecté
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Par défaut
    Mais j'utilise les normales pourtant, je ne verrai rien du tout sinon, non ?

  7. #7
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    oui mais la a priori tu utilise une normal par face (en fait la même normal pour chaque vertex de la face) alors qu'il faut une normal differente pour chaque vertex...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  8. #8
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Citation Envoyé par bafman
    oui mais la a priori tu utilise une normal par face (en fait la même normal pour chaque vertex de la face) alors qu'il faut une normal differente pour chaque vertex...
    Juste pour compléter bafman, il faut que dans ce cas précis, si tu veux une sphère lisse, que tu fasses la moyennes des 4 normales de faces adjacentes de chaque vertex pour calculer chaque normal de vertex.

  9. #9
    pot
    pot est déconnecté
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 46
    Par défaut
    Hmm... Je fais comment pour calculer les normales pour les vertex ? J'ai une petite fonction pour faire ça par face, mais pour les vertex j'ai pas d'idée

  10. #10
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    une fois que tu a tes normales par faces, tu fait :

    pour chaque vertex :
    addition des normal des faces liée au vertex
    normalisation du resultat
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  11. #11
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Par défaut
    Salut,


    En fait, s'il s'agit d'une sphère et que tu la crées centrée sur l'origine, tu as juste besoin de normaliser les vecteurs de coordonnées des points pour avoir les normales associées (en plus si c'est une sphère unité, le boulôt est déjà fait ...).

  12. #12
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    ha ouais c'est pas mal ca... j'y aurait pas pensé...

    enfin bon l'aventage de ma technique c'est que c'est generique et donc que ca marche pour n'importe quel forme (si on ne prend pas en compte les histoire du cutoff angle, il suffit d'essayer avec un cube pour voir la limitation...)
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

Discussions similaires

  1. Problème avec la lumière (jogl:opengl)
    Par Alays dans le forum OpenGL
    Réponses: 4
    Dernier message: 31/10/2012, 13h12
  2. Problème avec la lumière (jogl:opengl)
    Par Alays dans le forum Général Java
    Réponses: 2
    Dernier message: 29/10/2012, 17h48
  3. Gestion de la lumière avec opengl
    Par choko83 dans le forum OpenGL
    Réponses: 11
    Dernier message: 11/12/2008, 09h25
  4. Rayon d'action d'une lumière OpenGL
    Par zenux dans le forum OpenGL
    Réponses: 3
    Dernier message: 02/06/2008, 14h47
  5. Lumières OpenGL / Variables Delphi
    Par adrien357 dans le forum OpenGL
    Réponses: 7
    Dernier message: 07/06/2006, 17h41

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