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 :

shader lumière sphere [OpenGL 3.x]


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 19
    Par défaut shader lumière sphere
    Bonjour,

    Après avoir réussi à afficher une sphère, j'ai essayé de lui appliquer l'effet de lumière
    Ca marche mais quand je lui applique une rotation, la zone éclairé subi aussi la rotation alors qu'elle ne devrais pas (la lumière ne bouge pas normalement),
    ca vient du fait que j'utilise le in_Vertex sans les transformations.

    Comment résoudre le problème?

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    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 122
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Êtes vous certains d'appliquer la rotation uniquement sur la sphère et non sur l'ensemble de la scène ?
    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
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 19
    Par défaut
    C'est juste la sphère qui subit la rotation.
    Lorsque je fais les calculs, j'utilise la variable in_Vertex, donc c'est la position du vertex dans mon repère 3D sans les transformations.
    Comment avoir la position final du vertex dans le repère 3D?
    J'ai réessayé avec, cette fois ci, gl_Position mais ça ne marche pas (normal, c'est la position à l'écran)

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    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 122
    Billets dans le blog
    148
    Par défaut
    Pour tourner la sphère, il faut changer sa matrice modèle (en la multipliant par une matrice de rotation, par exemple).
    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 averti
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 19
    Par défaut
    J'ai ma matrice "modelview" que j'envoie au shader

    j'essaie avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    final_vertex = modelview * vec4(in_Vertex, 1.0);
    et ca ne marche pas, ma sphere est meme plus éclairé.

    "final_vertex" est bien la position de mon vertex avec les transformations dans le repère 3D?

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    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 122
    Billets dans le blog
    148
    Par défaut
    Oui, en théorie.
    Je ne vois pas pourquoi votre sphère ne serait plus éclairé, sauf si la lumière est à l'intérieur

    Sinon, faudra nous montrer le code, ou le projet facilement compilable/testable.
    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.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/02/2012, 01h31
  2. [DX9 C#]Shader + Lumières
    Par funkydata dans le forum DirectX
    Réponses: 9
    Dernier message: 07/07/2006, 06h04
  3. Problème lumière
    Par Francky033 dans le forum DirectX
    Réponses: 3
    Dernier message: 15/07/2003, 05h05
  4. Vertex et Pixel Shader
    Par Riko dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/06/2003, 16h45
  5. carte graphique et pixels shader
    Par yeeep dans le forum DirectX
    Réponses: 2
    Dernier message: 26/04/2003, 10h54

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