La traducción de Cube parece todo mal

Estoy haciendo un cubo muy simple en OpenTK y parecía ir bien hasta que intenté moverlo. Moviéndolo a lo largo del eje X parece alargar el cubo, no el resultado que esperaba.

My Vertex Shader

#version 330 in vec3 vPosition; in vec3 vColor; out vec4 color; uniform mat4 modelview; void main() { gl_Position = modelview * vec4(vPosition, 1.0); color = vec4( vColor, 1.0); } 

My Fragment Shader

 #version 330 in vec4 color; out vec4 outputColor; void main() { outputColor = color; } 

Cómo hago modelview

  Matrix4 c = Matrix4.LookAt(Game.camera.Position, new Vector3(Game.camera.X + 1f, 0, Game.camera.Z + 0f), new Vector3(0, 1, 0)) * Matrix4.CreatePerspectiveFieldOfView( (float)(0.5 * Math.PI), (float)1366 / 768, 0.1f, 1000.0f); * Matrix4.CreateTranslation(Origin); GL.UniformMatrix4(Game.uniform_mview, false, ref c); 

Lo que hago aquí es agregar 0.01 a Origin.X mientras muevo la cámara en la dirección opuesta

Lo que hago aquí es agregar 0.01 a Origin.X mientras muevo la camera en la dirección opuesta.

¿Alguien sabe por qué produce este resultado? Gracias de antemano por tu ayuda.

EDITAR: Matrices multiplicadas por perspectiva * vista * model

enter image description here

Esta extraña línea parece parpadear cuando muevo la camera.

EDIT 2: printing de matriz

 (0, 0.9999995, 0.001019571, 0.001019367) (0, 0.001019367, -1.0002, -0.9999995) (0.5622255, 0, 0, 0) (1207.66, -0.9999995, 980.9957, 980.9995)