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 :

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);
...
}
Le probleme survient en fait lorsque je fait en java :

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
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.

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 plus note: j'utilise les methodes avec ARB).

Avez vous une suggestion s'il vous plait ?

Merci d'avance