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 :

Taille maxi des textures suivant version OpenGL


Sujet :

OpenGL

  1. #1
    Invité
    Invité(e)
    Par défaut Taille maxi des textures suivant version OpenGL
    Bonjour,

    J'ai fait des essais de chargement de textures et j'obtiens le message d'erreur ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur OpenGL n° 1281 : message  "valeur non valide"
    ... à l'instruction glTexImage2D(....) ...
    - lors du chargement d'une texture 4096 x 1024 sur un PC qui une version OpenGL 1.3.1
    - lors du chargement d'une texture 2048 x 1024 sur un PC qui une version OpenGL 1.1 (par contre passe sans erreur sur OpenGL 1.3.1)

    Auriez-vous une table des dimensions d'images maximales utilisables pour l'instruction glTexImage2D en fonction de la version d'OpenGL ?

    Je ne l'ai pas vu dans la FAQ et pas trouvé pour l'instant avec Google...

  2. #2
    Invité
    Invité(e)
    Par défaut Effectivement
    Je viens de trouver et de tester la réponse, (merci NeHe), on peut récupérer la taille maxi supportée par sa version OpenGL par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLint glMaxTexDim;
    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &glMaxTexDim);
    glMaxTexDim contient la taille maxi des textures en pixels.

    Chez moi ça donne :
    - 2048 pour OpenGl 1.3.1
    - 1024 pour OpenGl 1.1.0

    On pourrait peut-être l'ajouter dans la FAQ, non ?

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Kaji
    Je viens de trouver et de tester la réponse, (merci NeHe), on peut récupérer la taille maxi supportée par sa version OpenGL par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLint glMaxTexDim;
    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &glMaxTexDim);
    glMaxTexDim contient la taille maxi des textures en pixels.

    Chez moi ça donne :
    - 2048 pour OpenGl 1.3.1
    - 1024 pour OpenGl 1.1.0

    On pourrait peut-être l'ajouter dans la FAQ, non ?
    Juste parce que ton programme te donne ces informations ne veut pas forcément dire que cela fait partie de la norme. Il faudrait trouver dans la norme l'endroit où ils en parlent...

    Parce que pour le moment, on ne peut que supposer que les tailles différent d'une implémentation à une autre.

    Par contre, utiliser la fonction pour récupérer la taille maximale, cela peut se retrouver dans la FAQ.

    Jc

  4. #4
    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
    effectivement, la taille max des textures ne depend pas de la version d'openGL utilisée mais bien de la carte graphique.
    * 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

  5. #5
    Invité
    Invité(e)
    Par défaut FAQcultative
    Citation Envoyé par fearyourself
    Par contre, utiliser la fonction pour récupérer la taille maximale [d'une texture], cela peut se retrouver dans la FAQ.
    Ah oui ? Et où ?

    Personnellement, j'ai trouvé mon info en anglais sur le site de NeHe, via Google... Merci la FAQ, sur ce point...

  6. #6
    Invité
    Invité(e)
    Par défaut Limites OpenGL...
    Pour compléter la récupération des limites d'implémentation d'OpenGL, j'ai trouvé ces constantes dans gl.h ...

    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
     
    /* Implementation limits */
    #define GL_MAX_LIST_NESTING                     0x0B31
    #define GL_MAX_ATTRIB_STACK_DEPTH               0x0D35
    #define GL_MAX_MODELVIEW_STACK_DEPTH            0x0D36
    #define GL_MAX_NAME_STACK_DEPTH                 0x0D37
    #define GL_MAX_PROJECTION_STACK_DEPTH           0x0D38
    #define GL_MAX_TEXTURE_STACK_DEPTH              0x0D39
    #define GL_MAX_EVAL_ORDER                       0x0D30
    #define GL_MAX_LIGHTS                           0x0D31
    #define GL_MAX_CLIP_PLANES                      0x0D32
    #define GL_MAX_TEXTURE_SIZE                     0x0D33
    #define GL_MAX_PIXEL_MAP_TABLE                  0x0D34
    #define GL_MAX_VIEWPORT_DIMS                    0x0D3A
    #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH        0x0D3B
    Par contre, à part GL_MAX_TEXTURE_SIZE, je ne sais pas encore à quoi elle servent...

  7. #7
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Kaji
    Ah oui ? Et où ?

    Personnellement, j'ai trouvé mon info en anglais sur le site de NeHe, via Google... Merci la FAQ, sur ce point...
    C'était pour dire que cette question :

    Comment connaître la taille maximale d'une texture supportée?

    On utilise cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GLint glMaxTexDim;
    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &glMaxTexDim);

    Pouvait se trouver dans la FAQ et je suis sûr que Laurent le fera lorsqu'il aura une seconde...

    Jc

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pouvait se trouver dans la FAQ et je suis sûr que Laurent le fera lorsqu'il aura une seconde...
    En fait c'est déjà fait, et ce sera donc dans la prochaine mise à jour.

    Merci la FAQ, sur ce point...
    Rien ne t'empêche de proposer une question pour la FAQ si tu juges que ce serait utile

    Par contre, à part GL_MAX_TEXTURE_SIZE, je ne sais pas encore à quoi elle servent...
    Pour ça il vaut mieux regarder une doc de référence plutôt que gl.h.

  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
    Citation Envoyé par Kaji
    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
     
    /* Implementation limits */
    #define GL_MAX_LIST_NESTING                     0x0B31
    #define GL_MAX_ATTRIB_STACK_DEPTH               0x0D35
    #define GL_MAX_MODELVIEW_STACK_DEPTH            0x0D36
    #define GL_MAX_NAME_STACK_DEPTH                 0x0D37
    #define GL_MAX_PROJECTION_STACK_DEPTH           0x0D38
    #define GL_MAX_TEXTURE_STACK_DEPTH              0x0D39
    #define GL_MAX_EVAL_ORDER                       0x0D30
    #define GL_MAX_LIGHTS                           0x0D31
    #define GL_MAX_CLIP_PLANES                      0x0D32
    #define GL_MAX_TEXTURE_SIZE                     0x0D33
    #define GL_MAX_PIXEL_MAP_TABLE                  0x0D34
    #define GL_MAX_VIEWPORT_DIMS                    0x0D3A
    #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH        0x0D3B
    aller au pif sans regarder la doc :
    GL_MAX_LIST_NESTING : le niveau maximum d'imbrication des display list
    GL_MAX_ATTRIB_STACK_DEPTH : la taille max de la pile de sauvegarde des attributs (glPushAttrib())
    GL_MAX_MODELVIEW_STACK_DEPTH : la taille max de la pile de matrices de modelview
    GL_MAX_NAME_STACK_DEPTH : la taille max de la pile de nom (pour le picking)
    GL_MAX_PROJECTION_STACK_DEPTH : la taille max de la pile de matrices de projection
    GL_MAX_TEXTURE_STACK_DEPTH : idem pour la pile de matrice de texture
    GL_MAX_EVAL_ORDER : ha bah la j'ai pas d'idée
    GL_MAX_LIGHTS : le nombre maximum de lumières activables en meme temps
    GL_MAX_CLIP_PLANES : idem pour les plan de clipping
    GL_MAX_PIXEL_MAP_TABLE : heu... la taille max de la table de map de pixels oui la en fait je n'en sais rien
    GL_MAX_VIEWPORT_DIMS : la taille maximum du viewport utilisable
    GL_MAX_CLIENT_ATTRIB_STACK_DEPTH : comme pour GL_MAX_ATTRIB_STACK_DEPTH, mais du coté client (donc quand on utilise glPushClientAttrib())

    voila, c'est pourtant pas compliqué... mais lirs la doc rest quand meme la meilleure methode
    * 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

  10. #10
    Invité
    Invité(e)
    Par défaut Et oui, c'est dur de lire... :lol:
    Citation Envoyé par Laurent Gomila
    Rien ne t'empêche de proposer une question pour la FAQ si tu juges que ce serait utile
    Citation Envoyé par Kaji
    On pourrait peut-être l'ajouter dans la FAQ, non ?
    C'est bien ce que j'ai déjà fait trois ou quetre messages plus haut...

    Merci pour vos réponses...

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je parlais d'aller poster un sujet sur le forum "Contribuez", avec au moins un lien vers le sujet, au mieux une ébauche de la Q/R à ajouter si tu es un peu dégourdi.

    Enfin no problem, c'est déjà expédié.

  12. #12
    Membre émérite
    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 : 44
    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
    Points : 2 568
    Points
    2 568
    Par défaut
    Tu as testé en compressant ta texture, car tu dois pouvoir faire + !

    Mais bon qui dit texture énorme, dit lenteur aussi

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

Discussions similaires

  1. [AJAX] Taille maxi des données jsonp
    Par renaud26 dans le forum jQuery
    Réponses: 8
    Dernier message: 01/07/2015, 20h20
  2. [3D] Taille optimale des textures?
    Par J-F dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 16/03/2006, 09h20
  3. [FB 1.5] taille maxi des NUMERIC
    Par free07 dans le forum Débuter
    Réponses: 2
    Dernier message: 03/02/2006, 17h52
  4. TListBox taille maxi des lignes
    Par frantzgac dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/12/2005, 01h37

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