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 :

[GLSL] comment connaitre le maximum de gl_TexCoord[0].st


Sujet :

OpenGL

  1. #1
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut [GLSL] comment connaitre le maximum de gl_TexCoord[0].st
    salut,

    question de noob: comment connaitre la valeur max du s,t récupéré dans gl_TexCoord[0]?

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  2. #2
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    C'est-à-dire ? Si tu utilises des textures normales, les coordonnées seront normalisées entre [0;1], donc le max de u et t sera 1. Si ce n'est pas le cas (genre les textures rectangles), je sais que tu as une extension te permettant de récupérer la taille de la texture.

    Mais j'avoue que je comprends pas ce que tu veux dire par la "valeur max du s, t" .

  3. #3
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut
    c'est normal si ma question ne veut rien dire, ca arrive souvent quand je démarre dans un domaine

    j'imagine que les textures sont traitées comme étant rectangulaires dans le logiciel que je reprends, car je vois des GL_ARB_texture_rectangle qui trainent.

    et puis si je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gl_FragData[0].bgr = sampler2D(current, gl_TexCoord[0].st + vec2(1,0)).bgr
    ca fait quasiment rien, alors que si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gl_FragData[0].bgr = sampler2D(current, gl_TexCoord[0].st + vec2(320,0)).bgr
    ca décale de moitié l'image, donc ca m'étonnerait que dans mon cas ce soit [0,1]

    donc effectivement ma question c'est de connaitre la taille de la texture (si possible, depuis le shader)

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  4. #4
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Si ce sont des textures crées via ARB_texture_rectangle, alors effectivement les coordonnées ne sont pas normalisées (donc une texture de taille 512*512 aura comme (s,t) max (512,512)).

    Pour connaitre la taille de la texture, la méthode la plus simple est de passer la taille de la texture comme variable uniform.

    Sinon, tu as les fonctions textureSize, mais il faut pouvoir utiliser les extensions de OpenGL 3, et pour l'instant c'est pas encore le cas (nVidia et ATi implémentent une petite partie d'OGL3, je sais pas si c'est le cas pour cette fonction).

Discussions similaires

  1. [C#] Comment connaitre la taille d'un fichier.
    Par PascalCmoa dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/02/2018, 08h54
  2. [Tableau]comment connaitre la taille d'un tableau à 2 dimensions
    Par Kyti dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/04/2005, 10h27
  3. Comment connaitre l'appelant d'une méthode
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/07/2004, 14h51
  4. Réponses: 1
    Dernier message: 12/05/2004, 19h02
  5. comment connaitre le nombre ...
    Par mythtvtalk.com dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/08/2003, 08h18

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