Bonjour,
J'ai un problème avec glGetUniformLocation pour récupérer mes uniforms de mon shader. Alors j'ai parcouru le net et la doc' et aparemment si la variable n'est pas utilisé elle disparaît, sauf que la mienne je l'utilise..
La fonction LoadProgram s'occupe de charger le shader, le compiler et le lier au program. Et mes tests disent que tout se passe bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 graphics::Shader shader; GLuint program = shader.LoadProgram(NULL, "Shader/shader_colorText.pix"); // program vaut 2 glUseProgram(program); GLint idTest = glGetUniformLocation(program, "test"); // idTest vaut toujours -1...
code du shader de test
Merci si quelqu'un peut m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 uniform vec4 test; void main(void) { gl_FragColor = gl_Color * test; }
edit : Résolu, je prenais les extensions sans ARB, avec celles là ça fonctionne... je comprends pas trop pourquoi.. mais tant mieu![]()
Partager