Bonjour,
Voila j'essaye de chippoter avec les shaders en OPENGL (Jogl). J'aimerai passer plusieurs textures a mon shaders mais je n'y arrive pas je m'explique :
Voici un bout du vertex shader :
Le probleme survient en fait lorsque je fait en java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 uniform sampler2D ta,textureMAP, tb, tc; uniform int vara, varb, varc; void main() { ... gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; vec4 col = texture2D(textureMAP,gl_MultiTexCoord0.st); ... }
Je ne parviens pas a comprendre pourquoi (meme si je rajoute un bloc dans le shader afin d'utiliser ta ou tb) getUniformLocation me retourn -1 pour tout sauf textureMAP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 gsls.getUniformLocation("tb"); // -> -1 gsls.getUniformLocation("ta"); // -> -1 gsls.getUniformLocation("textureMAP"); // -> 0
J'ai deja eu le probleme avec autre choses que des Sample2D et je m'arrache les cheveux.
(J'ai chargé les shaders, linké, validé, et regardé les "Logs" qui ne contiennent a priori pas d'erreurs ou alors y'a un autre probleme en plusnote: j'utilise les methodes avec ARB).
Avez vous une suggestion s'il vous plait ?
Merci d'avance
Partager