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 :

Question divers opengl


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut Question divers opengl
    Bonjour,
    Je suis entrain de développer une application opengl avec Jogl.
    J'ai quelque questions:
    1) J'utilise le lighting sur des polygones à priori blancs. J'obtiens quelques polygones trés sombres (noirs). Comment pourrais moi garder le lighting et avoir des polygones moins sombres sachant que la lumière est à priori fixe?
    Voilà le code qui gère le lighting:
    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
    16
    float mat_specular[] =
    	    	    { 1.0f, 1.0f, 1.0f, 1.0f };
    	    	    float light_position[] =
    	    	    { 1.0f, 1.0f, 1.0f, 0.0f };
    	    	    float diffuseMaterial[] =
    	    	    { 0.5f, 0.5f, 1f, 1.0f };
     
    	    	    gl.glMaterialfv(GL.GL_FRONT, GL.GL_DIFFUSE, diffuseMaterial, 0);
    	    	    gl.glMaterialfv(GL.GL_FRONT, GL.GL_SPECULAR, mat_specular, 0);
    	    	    gl.glMaterialf(GL.GL_FRONT, GL.GL_SHININESS, 25.0f);
    	    	    gl.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, light_position, 0);
     
    	    	    gl.glEnable(GL.GL_LIGHTING);
    	    	    gl.glEnable(GL.GL_LIGHT0);
    	    	    gl.glDepthFunc(GL.GL_LESS);
    	    	    gl.glEnable(GL.GL_DEPTH_TEST);
    2) J'utilise un GLcanvas dans un JFrame pour l'affichage de la scène. J'ai un probléme au niveau de l'affichage des JMenu ou des JPopMenu qui se cachent à chaque fois qu'ils se croisent avec le GLCanvas. J'ai essayé avec GLJPanel, les JMenus ne se cachent pas mais la qualité de rendu devient trés mauvaise par rapport au GLCanvas. Est ce qu'il y a une option pour que les composants graphiques de Swing ne se cachent pas en se croisant avec le GLCanvas?
    Merci d'avance.

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 818
    Par défaut
    Citation Envoyé par choko83 Voir le message
    1) J'utilise le lighting sur des polygones à priori blancs. J'obtiens quelques polygones trés sombres (noirs). Comment pourrais moi garder le lighting et avoir des polygones moins sombres sachant que la lumière est à priori fixe?

    Rajoute:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    float[] blanc={1.0f,1.0f,1.0f,1.0f};
    gl.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, FloatBuffer.wrap(blanc));
    dans ton initialisation de lumière, ça devrait éclairer plus blanc.
    En espérant que tes normales soient bien définies comme il faut...

    Mais bon, je ne maitrise pas encore tout à fait, j'en suis justement à régler la partie éclairage sur mon moteur jogl


    Citation Envoyé par choko83 Voir le message
    J'ai essayé avec GLJPanel, les JMenus ne se cachent pas mais la qualité de rendu devient trés mauvaise par rapport au GLCanvas.
    Ca c'est étrange. Je suis justement passé d'en GLCanvas à un GLJPanel, et je n'ai pas de problème d'affichage... pour le moment...

    Citation Envoyé par choko83 Voir le message
    Est ce qu'il y a une option pour que les composants graphiques de Swing ne se cachent pas en se croisant avec le GLCanvas?
    Merci d'avance.
    Problème courant quand on mélange de l'awt avec du swing... donc soit tu ne mélanges pas, soit tu rajoutes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JPopupMenu.setDefaultLightWeightPopupEnabled(false);
    dans le code pour ton interface graphique.

    Article SDN pour les détails.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 465
    Par défaut
    Salut,
    pour le lighting, en ajoutant l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gl.glLightfv(GL.GL_LIGHT0, GL.GL_AMBIENT, FloatBuffer.wrap(blanc));
    la lumière est un peu corrigée.
    Si non pour l'interface graphique, l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popup.setDefaultLightWeightPopupEnabled(false);
    ne change rien.
    Tu peux me montrer stp comment tu initialise ton GLJpanel?

  4. #4
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 818
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 818
    Par défaut
    Citation Envoyé par choko83 Voir le message
    Si non pour l'interface graphique, l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popup.setDefaultLightWeightPopupEnabled(false);
    ne change rien.
    C'est quoi ce popup?


    Citation Envoyé par choko83 Voir le message
    Tu peux me montrer stp comment tu initialise ton GLJpanel?
    Rien de particulier à montrer, j'utilise le constructeur sans argument de la classe, aucun paramétrage spécial...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Questions divers Matplotlib
    Par Boozer dans le forum Calcul scientifique
    Réponses: 8
    Dernier message: 27/01/2012, 15h06
  2. Questions sur OpenGL
    Par ryu sensei dans le forum OpenGL
    Réponses: 5
    Dernier message: 05/12/2007, 23h47
  3. Réponses: 6
    Dernier message: 15/03/2007, 10h29
  4. Questions Divers sur un PFE à Paris
    Par Mehdi Feki dans le forum Stages
    Réponses: 9
    Dernier message: 03/11/2006, 20h20
  5. [gtkmm] question sur OpenGL
    Par ReiVon dans le forum GTK+
    Réponses: 4
    Dernier message: 09/11/2004, 13h23

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