I've tweaked tutorial04.cpp a bit from http://www.opengl-tutorial.org/beginners-tutorials/tutorial-4-a-colored-cube/
I've made a pyramid shape and I wanted to place the camera above the pyramid and look down at it, but what I found is when the camera is directly above the pyramid it doesn't render at all. If I change my X value to be anything other than 0, it renders fine.

If I set X to be -0.0000001f or 0.0000001f, it renders fine as well.
The code below does not work.
glm::mat4 View = glm::lookAt(
glm::vec3(0,10,0), // Camera
glm::vec3(0,0,0), // and looks at the origin
glm::vec3(0,1,0) // Head is up (set to 0,-1,0 to look upside-down)
);
This code works fine
glm::mat4 View = glm::lookAt(
glm::vec3(1,10,0), // Camera
glm::vec3(0,0,0), // and looks at the origin
glm::vec3(0,1,0) // Head is up (set to 0,-1,0 to look upside-down)
);
I have 5 points that I am using to draw 6 triangles.
a: 0,1,0
b: 1,0,-1
c: 1,0,1
d: -1,0,1
e: -1,0,-1
Triangle 1: a, b, c
Triangle 2: a, c, d
Triangle 3: a, e, b
Triangle 4: a, e, b
Triangle 5: b, d, c
Triangle 6: d, b, e
static const GLfloat g_vertex_buffer_data[] = {
0,1,0,
1,0,-1,
1,0,1,//a,b,c
0,1,0,
1,0,1,
-1,0,1,//a,c,d
0,1,0,
-1,0,1,
-1,0,-1,//a,d,e
0,1,0,
-1,0,-1,
1,0,-1,//a,e,b
1,0,-1,
-1,0,1,
1,0,1,//b,d,c
-1,0,1,
1,0,-1,
-1,0,-1//4,2,5
};