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 :

Image pleine ecran


Sujet :

OpenGL

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Par défaut Image pleine ecran
    Bonjour à tous,

    Je développe une petite application HTPC et j'utilise OpenGL pour le rendu de l'ihm.

    Je souhaite qu'au démarrage un screenshot soit pris, qu'il prenne tout l'écran pour qu'en suite, il soit redimensionné et positionné comme icone de sortie de mon appli : un truc un peu à la front row qui permet de faire croire à l'utilisateur que mon appli "englobe" windows par exemple.

    J'essaye le code suivant :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     public void display(GLAutoDrawable drawable) {
    [...]
    if (starting) {
                if(ssAnimator == null) {
                    ssAnimator = PropertySetter.createAnimator(6000, this, "position", 1.0f, 0.0f);
                    ssAnimator.addTarget(new TimingTargetAdapter() {
                        public void end() {
                            starting = false;
                        }
                    });
                    ssAnimator.start();
                }
     
                gl.glMatrixMode(GL.GL_PROJECTION);
                Texture t = TextureIO.newTexture(screenshot, false);
     
                TextureCoords tc = t.getImageTexCoords();
                float tx1 = tc.left();
                float ty1 = tc.top();
                float tx2 = tc.right();
                float ty2 = tc.bottom();
     
                t.enable();
                t.bind();  
     
                gl.glLoadIdentity();
                gl.glBegin(GL.GL_QUADS);
                gl.glTexCoord2f(tx1, ty1); gl.glVertex2f(-position, position);
                gl.glTexCoord2f(tx2, ty1); gl.glVertex2f(position, position);
                gl.glTexCoord2f(tx2, ty2); gl.glVertex2f(position, -position);
                gl.glTexCoord2f(tx1, ty2); gl.glVertex2f(-position, -position);
                gl.glEnd();
            }
    Malheureusement, mon écran reste noir alors que l'image est bonne : je l'ai déjà affiché.

    Est-ce que GL.GL_PROJECTION correspond bien à la matrice ortho?

    Merci, Laurent.

    ps: tout mon code source ici : http://code.google.com/p/ambiance/

  2. #2
    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
    Plusieurs problèmes:

    Bien vérifier que tu es bien dans un espace orthogonale, le plus simple étant l'utilisation de glOrtho.

    Vérifier que la texture est bonne (retester ne fait pas de mal ), que tu actives bien le rendu des texture 2D que les lumières sont bien réglées (désactiver les lumières pour tester si il y en a), que la surface à une couleur blanche.

    Si tu n'es pas en espace orthogonale, vérifier que le frustum ne filtre pas ton planar avant qu'il ne soit affiché via la valeur du znear.

  3. #3
    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
    attention, faire juste appel a glMatrixMode(GL_PROJECTION) ne passa par en mode ortho, ca dit juste que les prochaine modification de matrices vont se faire sur la matrice de projection.
    * 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. image en plein ecran
    Par nightfall59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/06/2010, 11h23
  2. Afficher une texture plein ecran en 2D
    Par venomelektro dans le forum OpenGL
    Réponses: 8
    Dernier message: 07/10/2004, 12h30
  3. [Debutant] Pb de plein ecran..... Merci encore
    Par yup dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 21/08/2004, 11h11
  4. [FLASH MX 2004] bouton plein ecran MediaPlayBack
    Par dens63 dans le forum Flash
    Réponses: 8
    Dernier message: 12/05/2004, 14h22
  5. [DX 9][C++]Plein ecran + carte graphique
    Par delire8 dans le forum DirectX
    Réponses: 2
    Dernier message: 09/05/2003, 20h11

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