Bonjour
Je passe mon framework en OpenGL 3.2 afin d'abandonner toutes les commandes dépréciées et n'utiliser que ce qui est recommandé. Cela veut dire plus de gestion des matrices par OpenGL, donc je dois tout gérer à la mano. Pour info, c'est du C# et j'utilise OpenTK.
Mon problème est que je suis un peu un buse dans le domaine des matrices et je souhaite passer en 2d (mode ortho). Pour cela j'ai défini mon vertex shader comme ceci :
Le code C# qui initialise le tout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #version 150 uniform mat4 projectionMatrix; uniform mat4 modelViewMatrix; in vec4 vertex; void main(void) { //gl_Position = vertex; //gl_Position = vertex * projectionMatrix; //gl_Position = vertex * modelViewMatrix; gl_Position = projectionMatrix * modelViewMatrix * vertex;; }
Bien sûr, ça ne marche pas. Comme je l'ai dit plus haut, je suis une buse la dedans. Ce que je souhaite c'est faire correspondre mon affichage à du 1x1 (mode 2d de base tout simple en fait).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Matrix4 projection = Matrix4.CreateOrthographicOffCenter(Display.ViewPort.Left, Display.ViewPort.Width, Display.ViewPort.Height, Display.ViewPort.Top, -1, 1); GL.UniformMatrix4(projectionLocation, false, ref projection); Matrix4 modelview = Matrix4.Identity; GL.UniformMatrix4(modelViewLocation, false, ref modelview);
Si une âme charitable voulais bien éclairer ma lanterne...
Partager