Bonjour,
je voudrais faire l'équivalent de :
avec les shaders :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 glRotatef( ang, 0.0f, 1.0f,0.0f); glTranslatef(xp,haut,yp);
J'ai même penser à initialiser la variable "matmat :
mamat est bien initialiser ainsi les shaders sans erreur de compilations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mamat = glGetUniformLocation(programID, "matview");
shaders :
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);
vertex :
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 = gl_ModelViewProjectionMatrix * matview; }
fragment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 uniform vec4 matview; void main(void) { gl_Position = matview; }
Ca ne marche pas du tout du tout.
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); }
Et je n'y comprend rien .
Ou est l'erreur ?
Merci.
Partager