salut,
question de noob: comment connaitre la valeur max du s,t récupéré dans gl_TexCoord[0]?
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.
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" .
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
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(1,0)).bgr
ca décale de moitié l'image, donc ca m'étonnerait que dans mon cas ce soit [0,1]
Code : Sélectionner tout - Visualiser dans une fenêtre à part gl_FragData[0].bgr = sampler2D(current, gl_TexCoord[0].st + vec2(320,0)).bgr
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.
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).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager