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 :

Lumiere pour le soleil


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut Lumiere pour le soleil
    j'essaye de mettre la lumiere pour mon soleil, voila mon code mais la lumiere est faible et elle allume pas tous les objets a cote!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       glPopMatrix();
    	float Light0Pos[4] =  {0, 0, 0, 1};
    	glLightfv(GL_LIGHT0, GL_POSITION, Light0Pos);
    	float Light0Dif[4] = { 1.0f,1.0f,1.0f, 1.0 };
    	glLightfv(GL_LIGHT0, GL_DIFFUSE, Light0Dif);
    	glPushMatrix();
    	glColor3f(1.0,1.0,0.0);
    	glDisable(GL_LIGHTING);
    	glCallList(myListId3);
    	glEnable(GL_LIGHTING);

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Par défaut
    Citation Envoyé par laziolb Voir le message
    j'essaye de mettre la lumiere pour mon soleil, voila mon code mais la lumiere est faible et elle allume pas tous les objets a cote!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       glPopMatrix();
    	float Light0Pos[4] =  {0, 0, 0, 1};
    	glLightfv(GL_LIGHT0, GL_POSITION, Light0Pos);
    	float Light0Dif[4] = { 1.0f,1.0f,1.0f, 1.0 };
    	glLightfv(GL_LIGHT0, GL_DIFFUSE, Light0Dif);
    	glPushMatrix();
    	glColor3f(1.0,1.0,0.0);
    	glDisable(GL_LIGHTING);
    	glCallList(myListId3);
    	glEnable(GL_LIGHTING);
    Salut,

    Le dernier paramètre de la position (que l'on appelle W) sert à déterminer le type de ta lumière: soit ponctuelle (une ampoule), soit directionnelle (le Soleil), soit spot (un spot)....

    C'est simple:

    Si W=0, tu as une directionnelle et sa direction est donnée par les {x, y, z} de la position.

    Si W=1 et GL_SPOT_CUTOFF=180 tu as une lumière ponctuelle,

    et si W=1 et GL_SPOT_CUTOFF=0 à 90 tu as une lumière spot dont la demi ouverture angulaire est le GL_SPOT_CUTOFF... Sa direction est fixée par GL_SPOT_DIRECTION.

    Tu fixes bien sûr le GL_SPOT_CUTOFF et le GL_SPOT_DIRECTION avec un glLightfv().

    Dans ton cas (Soleil), tu dois la définir comme une directionnelle (soit w=0) et fixer sa direction avec les {x, y, z} de sa position...

    Pourquoi fixes-tu, dans ton code, sa position à {0, 0, 0} ???

    Fais une lumière ponctuelle et dis-nous si c'est mieux ok ?

    @+
    Joe.

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 12
    Par défaut
    Désolé, j'ai corrigé pour la directionnelle.

    Si W=0, tu as une directionnelle et sa direction est donnée par les {x, y, z} de la position.

    C'est mieux

    @+
    Joe.

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    merci ca marche maintenant, le 0,0,0 car c'est la source de lumiere(je dessine mon soleil en ce point)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/10/2006, 17h29
  2. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    Réponses: 10
    Dernier message: 12/03/2006, 22h33
  3. Tutoriels et liens pour le Borland Database Engine
    Par Community Management dans le forum Paradox
    Réponses: 0
    Dernier message: 25/03/2002, 10h23
  4. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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