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 :

spot light position


Sujet :

OpenGL

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut spot light position
    Salut,


    j' aurais besoin d' aide pour placer une spot light car je n' y arrive pas , en effet la light ne semble pas du tout placé à la position que j' indique dans ma scene

    dans la classe light , j initialise un certain nombre de variables à l' initialisation du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Amb1 = Vector4(0,0,0,1); // Vector4 est une classe simple pour stocker les x,y,z,et w  
    Dif1 = Vector4(1,0,0,1); // diffuse
    Spe1 = Vector4(0,0,1,1); // specular
    Pos1 = Vector4(0,2,0,1); // position de la light // je la veut au point 0,2,0 
     
    Dir1[0] =  0; // direction de la light == vers le bas sur l' axe y
    Dir1[1] = -1;
    Dir1[2] =  0;
    ensuite, a chaque frame , je dessine la scene (pseudo code )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void Draw() {
     
    clear_buffer(); // glClear (...)
    place_camera(); // gluLookAt(...)
    place_lights(); // voir plus bas 
    dessine_mes_objets();
    swap_buffers():
    }
    et ma fonction place_lights() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    glEnable(GL_LIGHT1);
    glEnable(GL_LIGHTING);
    glLightfv   (GL_LIGHT1         , GL_AMBIENT   , (float*)&Amb1 );
    glLightfv   (GL_LIGHT1         , GL_DIFFUSE   , (float*)&Dif1 );
    glLightfv   (GL_LIGHT1         , GL_POSITION  , (float*)&Pos1 );
    glLightfv   (GL_LIGHT1         , GL_SPECULAR  , (float*)&Spe1 );
    glLightfv   (GL_LIGHT1         , GL_SPOT_DIRECTION , Dir1 );
     
    float spot_cutoff = 45.0f;
    float const_att = 1.5f;
    float spot_exp  = 2.0f;
    glLightfv(GL_LIGHT1,GL_SPOT_CUTOFF,&spot_cutoff);
    glLightfv(GL_LIGHT1,GL_SPOT_EXPONENT,&spot_exp);
    glLightfv(GL_LIGHT1,GL_CONSTANT_ATTENUATION,&const_att);

    Donc voila ma scene n' est pas du tout eclairé comme je le souhaite , car je pensais que en faisant ainsi j' aurais une lumiere plus intense sur mon sol en dessous du point (0,2,0) mais c est pas le cas !

    Sinon ma light0 est une light directionnelle et fonctionne tres bien

    Donc si qqun pourrait m" expliquer ce qui va pas dans mon code ca serait super cool




    Merci d' avance

  2. #2
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Salut venomelektro

    Tu devrais regarder à cette adresse cela va surement t'aider :
    http://rvirtual.free.fr/programmatio.../Eclairage.htm
    .Olivier

  3. #3
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    salut Andy ,


    merci pour ta réponse !

    je vais jetter un oeil a ce lien

    merci

    a+

Discussions similaires

  1. Deferred lighting: position original
    Par zenux dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 30/03/2010, 21h18
  2. Equivalents Open Source de Spot light et TOAD
    Par kameleo10 dans le forum Toad
    Réponses: 6
    Dernier message: 05/01/2006, 18h33
  3. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09
  4. Réponses: 2
    Dernier message: 17/05/2002, 20h37
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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