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 :

Afficher une texture plein ecran en 2D


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 Afficher une texture plein ecran en 2D


    Je voudrais savoir comment vous y prenez vous , pour afficher une texture sur la totalité de l ecran en 2d , genre pour un menu ou un splash screen par exemple

    il y a bien le moyen d en faire une texture et je la plaquer sur tout l ecran en matrice de projection mais voila , comme on le sait bien on a le choix entre 512*512 ou 1024*1024 et hum, mon ecran est pas carré quoi

    donc deformation , meme minime, mais deformation quand meme

    j ai alors pensé a glDrawPixels , est ce que certains d entre vous s en servent pour ca ??? si oui qu est ce que ca donne niveau performance ?

    ou alors si vous connaissez d autre methode ...;

  2. #2
    Membre averti
    Avatar de rolkA
    Inscrit en
    Juillet 2003
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 324
    Points : 369
    Points
    369
    Par défaut
    Tu crée ta texture en format 4:3 (comme 800 par 600), puis tu la déforme avec ton logiciel préféré (Gimp, PhotoShop...) en format 1:1.
    Un historique local pour Visual Studio 2005 et 2008 :
    http://www.codeplex.com/VLH2005

  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 : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    ou tu utilise l'extention texture_non_power_of_two (ou un truc du genre je sait plus...) qui permet de gerer des texture qui ne sont pas en puissance de 2...
    sinon moi je me contente tres bien d'une texture en 1024*768 chargé avec gluBuild2Dmipmap....
    * 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

  4. #4
    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
    Citation Envoyé par bafman
    ou tu utilise l'extention texture_non_power_of_two (ou un truc du genre je sait plus...) qui permet de gerer des texture qui ne sont pas en puissance de 2...
    sinon moi je me contente tres bien d'une texture en 1024*768 chargé avec gluBuild2Dmipmap....
    mais 768 n est pas une puissance de 2 ?

    et ce que les textures que l on charge avec gluBuild2Dmipmap peuvent ne pas etre puissance de 2 ?

    Citation Envoyé par rolka
    Tu crée ta texture en format 4:3 (comme 800 par 600), puis tu la déforme avec ton logiciel préféré (Gimp, PhotoShop...) en format 1:1.
    oui c comme ca que je fais en ce momment



    Sinon pour glDrawPixels , personne n a testé de charger l image dans un buffer et de l afficher directement ( à chaque fois que j ai tenté ca n a pas marché..)

  5. #5
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    en fait gluBuild2Dmipmap agrandi la texture en memoire pour qu'elle soit en puissance de 2.
    en gros si tu lui donne une texture de 512*418 par exemple, en interne il te la transformera en texture de 512*512 et etandra l'image a cette resolution.
    par contre il faut quand même faire attention car si tu ne fait pas attention, avec des texture de 512*513 par exemple il risque de te la transformer en texture de 512*1024 car je croit qu'il agrandi a la puissance superieure pour ne pas avoir de perte d'information. donc si tu ne fait pas gaffe tu peut voire ta memoire graphique consommée exploser rapidement...
    * 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

  6. #6
    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
    ok , mais si openGL retaille mon 800*600 en 1024*1024 , autant que je lui envoie directement une text en 1024*1024 alors

    donc je vois pas trop l interet pour le moment

    Apperement openGL 2.0 supporte les textures rectangulaires d apres ce que j ai lu je sais plus ou ..

  7. #7
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    etant donné que ca fait depuis un moment que les carte 3D on l'extention GL_TEXTURE_NON_POWER_OF_TWO, effectivement ca semble logique qu'il soit integré en standard dans openGL 2.
    sinon l'interet d'avoir des texture en 800*600 au lieu de 1024*1024 c'est surtout pour le disque dur... et surtout une texture etendu par gluBuimd2Dmipmap, quand elle sera reduite a l'affichage pour rentrer en 800*600 resemblera normalement exactement a ce qu'elle donne sur le disque...
    * 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

  8. #8
    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,


    c vrai qu il y a un gain sur le disque , etant donné que mon TGA passe de 3 Mo a 1,4 Mo mais le truc c est que du coup c est plus long a charger ,

    je l ai remarqué car j utilise des textures de fond comme ca pour differents menus et je charge et decharge les textures à chaque changement de menu , avec gluBuild2Dmipmap j ai remarqué que le temps de chargement etait legerement plus long

  9. #9
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    en fait ce n'est pas le temp de chargement qui est plus long mais le temps de generation des MIPMAP, etant donné qu'il doit construire plusieurs version de la texture a des tailles differentes...
    * 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

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

Discussions similaires

  1. Afficher une texture sur la fenêtre en tailel réelle
    Par Matthieu Brucher dans le forum OpenGL
    Réponses: 17
    Dernier message: 02/07/2008, 12h22
  2. JPanel ne s'affiche pas en plein ecran
    Par opiece dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 03/03/2008, 10h37
  3. Afficher une texture sur un GL_Quads
    Par alex6891 dans le forum OpenGL
    Réponses: 24
    Dernier message: 21/07/2006, 20h16
  4. Afficher une texture "pleine" sur un support non c
    Par Mastero dans le forum DirectX
    Réponses: 20
    Dernier message: 27/01/2005, 13h28
  5. Copier et afficher une copie d'ecran
    Par Bobx dans le forum Langage
    Réponses: 6
    Dernier message: 02/08/2002, 22h20

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