title: GLSL - Object disappears when multiplying by matrix
body: <p>I've got this vertex shader: </p>
  
  <pre><code>#version 400
  
  layout(location=0) in vec4 vertPosition;
  layout(location=1) in vec2 vertUV;
  layout(location=2) in vec3 vertNormal;
  
  uniform mat4 MVP;
  
  out vec3 fragPosition;
  out vec2 fragUV;
  out vec3 fragNormal;
  
  void main(void){
      gl_Position = MVP * vertPosition;
  
      fragPosition = (MVP * vertPosition).rgb;
      fragUV = vertUV;
      fragNormal = (MVP * vec4(vertNormal,0)).rgb;
  }
  </code></pre>
  
  <p>As soon as I'm multiplying <code>vertPosition</code> by <code>MVP</code> the object to render disappears, even if <code>MVP</code> is an identity matrix. </p>
  
  <p>Here's the code where I'm setting MVP:</p>
  
  <pre><code>mat4 model = translate(mat4(), vec3(0,0,0));
  mat4 view = translate(mat4(), vec3(0,0,-10));
  mat4 proj = perspective(90.0f, (float)1280/720, 0.001f, 1000.0f);
  
  mat4 MVP = model * view * proj;
  
  GLint uniform_loc = glGetUniformLocation(this-&gt;_shaderID, "MVP");
  glUniformMatrix4fv(uniform_loc, 1, GL_FALSE, value_ptr(matrix));
  </code></pre>
  
  <p>I tried different multiplication orders and multiplicating in the shader.</p>