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 :

Optimisation d'affichage de textures


Sujet :

OpenGL

  1. #21
    Invité
    Invité(e)
    Par défaut
    Les textures qui ne sont pas en puissance de 2 ne sont supportés qu'à partir d'OpenGL 3.
    Non, 1.5 il me semble.

  2. #22
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par ponce Voir le message
    Non, 1.5 il me semble.
    Il faudra que je teste pour en être sûr.
    Actuellement, j'ai la version 1.4, je regarderai si je peux pas l'up

  3. #23
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    bonjour,

    Non, 1.5 il me semble.
    Officiellement c'est à partir de la version 2.0. Mais beaucoup de cartes supportent les textures de taille arbitraire via les extensions, également avec une implementation d'OpenGL 1.4, 1.5...

    En gros ca dépend de la carte, avec une ATI ou une Nvidia en general pas de probleme. Pour voir quelle version d'OpenGL est supportée, ainsi que quelles extensions, y a l'excellent GLView: http://www.realtech-vr.com/glview/

    Actuellement, j'ai la version 1.4, je regarderai si je peux pas l'up
    A moins que tu sois limité a 1.4 pour cause de mauvais driver, si ta carte est compatible 1.4 et pas plus tu ne pourras pas l'upgrader. La version d'OpenGL supportée par une carte graphique correspond a ce qui est implémenté en hardware, pas d'upgrade possible à moins de changer de carte, donc...

  4. #24
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Sur la machine avec laquelle je travaille se trouve une intel Q35, rien de bluffant
    De plus, c'est du dell donc impossible d'installer les derniers pilotes intel, si ils ne sont pas validés par dell. Même si comme tu dis ça n'a pas de rapport avec la version d'openGL.

  5. #25
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    Re,

    De plus, c'est du dell donc impossible d'installer les derniers pilotes intel, si ils ne sont pas validés par dell. Même si comme tu dis ça n'a pas de rapport avec la version d'openGL.
    Problème connu et redondant...ca commence tout doucement a s'arranger (Nvidia a sorti des pilotes qui passent aussi sur portable par exemple) mais c vrai que c'est galère.

    Enfin, il y a une technique pour forcer l'installation d'un driver Intel sur un dell par exemple (j'ai aussi des Dell au boulot). c pas très joli mais ca marche en tout cas, si tu veux je t'envois ca.

    Mais bon apres verification la dessus http://en.wikipedia.org/wiki/Intel_GMA#GMA_3100, ta carte est limitée a OpenGL 1.5 donc pas sûr que ca change grand chose au final...

  6. #26
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par ShevchenKik Voir le message
    Re,

    Mais bon apres verification la dessus http://en.wikipedia.org/wiki/Intel_GMA#GMA_3100, ta carte est limitée a OpenGL 1.5 donc pas sûr que ca change grand chose au final...
    Selon openGLViewer c'est même compatible 1.5 à 66%...

  7. #27
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    J'entendais par "supporter" en GL3 : supporter nativement ^^ pas besoin de fonction ARB ou EXT, mais c'est vrai que si ça existe en ARB dès 1.5 il peut être intéressant de l'utiliser.

  8. #28
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Je continue mon file rouge d'openGL
    J'ai deux surfaces texturées qui se chevauchent avec un zBuffer différent (of course! ). Mais voilà, ces deux textures se déplacent et parfois entre les deux on peut voir nettement une ligne blanche, surtout que mes textures sont sombres. Cette ligne n'apparait pas tout le temps, comme si c'était un décalage d'un demi pixel...
    Quelqu'un a t-il déjà fait face à ce problème?

    Merci par avance.

  9. #29
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Euh, là il va me falloir un screen ^^

  10. #30
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    C'est simplement quelque chose comme ça:

    En haut une surface texturée, en bas aussi, et ces deux surfaces bougent (plutôt seule celle du bas). Celle du bas passe dessus celle d'en haut, et parfois (un rafraichissement sur 2?) cette ligne qu'on voit apparait.

    Histoire d'ajouter des indications, c'est apparemment selon la position des deux objets que la ligne apparait, pourtant je me déplace de '1' en '1'...

  11. #31
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Up du matin

    Au passage j'ai un petit souci avec la méthode gluPickMatrix(...).
    J'ai l'impression que de passer dans le viewport une largeur/hauteur supérieure à 2048 fausse le picking..En tout cas c'est ce que je remarque...
    Je rajouterai même que mes images se déforment passé 1024 en hauteur/largeur.
    Hum on dirait que ça vient du fait que je double la taille au départ de ma zone de dessin, ce qui veut dire que je ne peux pas dépasser 2048.

  12. #32
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Après avoir un peu cherché on se rend compte que la taille du viewport (qu'utilise gluPickMatrix()) a une taille max similaire à celle de la taille max d'une texture ou du buffer de dessin. Pour ma carte c'est 2048*2048.
    Au moins je suis fixé

  13. #33
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Bonjour à tous!
    Je reviens avec une question assez simple.
    Dans ma scène openGL je suis un objet avec la caméra. J'utilise donc glViewPort et glOrtho (je suis en 2D) et je passe des paramètres aux glViewPort de façon à ce qu'il suive l'objet en question.
    Problème à "faible" vitesse, vu que la fonction glViewPort prend des entiers en paramètre, on remarque nettement le décalage d'échelle 1 pixel, alors que mon objet se déplace selon un translate avec des valeurs de type double.
    Ca donne une impression de "lag" et c'est pas génial

    Il n'existe pas un moyen pour faire des décalage de caméra avec une précision supérieure, ne serait-ce qu'au dixième?

  14. #34
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    Salut,

    comme ca vite fait, à priori tu devrais jouer sur les parametres de glOrtho (qui sont en double), plutôt que sur ceux de glViewport.

    Dans mon programme j'utilise aussi glOrtho et je réalise mes zoom comme suit:

    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
    glViewport((GLint) g_VIEWPORT_OFFSETX, (GLint) g_VIEWPORT_OFFSETY, (GLsizei) g_VIEWPORT_SIZEX, (GLsizei) g_VIEWPORT_SIZEY);
     
    	// 2. Calculate scene Y dimensions depending on the viewport's AR
    	// --------------------------------------------------------------
    	g_SCENE_SIZEY = g_SCENE_SIZEX / g_VIEWPORT_AR;
    	g_SCENE_SIZEZ = g_SCENE_SIZEX*1.1f;
     
    	// 2. Apply an orthogonal projection taking the scene size, 
    	//	  aspect ratio and zoom factor into account
    	// --------------------------------------------------------------
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
    	glOrtho(-g_SCENE_SIZEX*g_SCENE_ZOOM, g_SCENE_SIZEX*g_SCENE_ZOOM,
                -g_SCENE_SIZEY*g_SCENE_ZOOM, g_SCENE_SIZEY*g_SCENE_ZOOM,
                -g_SCENE_SIZEZ, g_SCENE_SIZEZ);
    en adaptant un peu tu dois pouvoir suivre ton objet de manière similaire...

  15. #35
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Il me semble que j'avais déjà essayé de faire avec glOrtho, mais sans réussite.
    Je fais déjà du zoom avec le glOrtho par contre.
    Faut voir si j'y arrive...

  16. #36
    Invité
    Invité(e)
    Par défaut
    +1 pour ShevchenKik
    Le viewport ne doit pas servir à suivre un objet.

  17. #37
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Pourtant je vois plutôt le glOrtho représentant tout l'espace de la scène dans un parallélépipède, et le viewPort comme la fenêtre de vision sur cette scène, donc ça serait "logique" que ce soit le glViewPort qui suive l'objet, non?

  18. #38
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Points : 486
    Points
    486
    Par défaut
    Re!

    non, le viewport te permet de positionner ta fenêtre OpenGL à l'écran, tu n'y touches normalement que quand cette dernière est redimensionnée, ou que tu passes en plein ecran, etc...

    glOrtho te permet de dire quel volume est visualisé dans ce viewport. En gros c'est ta caméra, et c'est elle qui va suivre tes objets.

    Par exemple si tu "regardes" selon l'axe -Z, et que ton objet se déplace selon l'axe +X (vers la droite donc), augmente les valeurs left et right de glOrtho en conséquence et ca devrait "suivre" ton objet...

  19. #39
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Pour le déplacement tu ne dois utiliser ni glViewport, ni glOrtho, c'est comme ci dans la réalité pour suivre un objet avec ta caméra tu la démonter pour changer ses caractéristiques à chaque fois que l'objet bouge ! Tu dois utiliser la matrice du monde GL_MODELVIEW pour effectuer des déplacements, là ça revient à un déplacement normal de ta caméra même si enfaite ce sont les objets qui bougent.

  20. #40
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Hum, je vois pas trop comment appliquer le principe, là j'ai un fond fixe, et un objet qui bouge dessus, et je dois suivre l'objet avec ma caméra.
    En réalité lorsque l'on veut suivre un objet avec une caméra, celle ci se déplace non?

Discussions similaires

  1. Pas d'affichage de texture sur certains PC
    Par octopus984 dans le forum GLUT
    Réponses: 7
    Dernier message: 19/04/2005, 13h22
  2. Probleme d affichage de texture
    Par venomelektro dans le forum OpenGL
    Réponses: 1
    Dernier message: 27/09/2004, 15h07
  3. affichage de textures
    Par khayyam90 dans le forum OpenGL
    Réponses: 3
    Dernier message: 05/07/2004, 10h31
  4. Optimiser l'affichage d'un fichier XML de grosse taille...
    Par UnPeuPerdu dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 03/06/2004, 16h01

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