Bonjour,

je voudrais faire l'équivalent de :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
glRotatef( ang, 0.0f, 1.0f,0.0f);
glTranslatef(xp,haut,yp);
avec les shaders :
J'ai même penser à initialiser la variable "matmat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mamat = glGetUniformLocation(programID, "matview");
mamat est bien initialiser ainsi les shaders sans erreur de compilations.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
				glm::mat4 Projection = glm::perspective(60.0f, 1.0f, 0.05f, 960.f); 
 
				//glm::mat4 ViewRotateX = glm::rotate(ViewTranslate, Rotate.y, glm::vec3(0.0f, -1.0f, 0.0f)); 
				glm::mat4 View = glm::rotate(Projection, ang, glm::vec3(0.0f, 1.0f, 0.0f)); 
				glm::mat4 ViewTranslate = glm::translate(View, glm::vec3(xp, 0.0f, yp)); 
				glm::mat4 Model = glm::scale(glm::mat4(1.0f), glm::vec3(0.5f)); 
				glm::mat4 MVP = Projection * View * Model;
                                GLfloat *f=glm::value_ptr(MVP); 
                  		glUniformMatrix4fv(mamat,1,GL_FALSE,f);
shaders :
vertex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
uniform vec4 matview;
void main(void)
{
   gl_Position = gl_ModelViewProjectionMatrix * matview;
}
j'ai même essayer avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
uniform vec4 matview;
void main(void)
{
   gl_Position = matview;
}
fragment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
varying vec4 vCoolor;
void main (void)  
{     
   gl_FragColor = vec4(1.0, 1.0,1.0, 1.0);  
}
Ca ne marche pas du tout du tout.
Et je n'y comprend rien .
Ou est l'erreur ?

Merci.