After browsing some forums I found out that nVidia enforces the use of use vao + vbo with 3.x. with the new drivers. The problem is that I don't know what VAO is or where I should use it , I am already using VBO if you guys can help by pointing me in the right direction on how I should use VAO I would appreciate it very much.
After checking for OpenGL errors, I managed to pinpoint the problem to this line of code :
[source lang="cpp"]glVertexAttribPointer ( 0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0 );[/source]
which is the vertex attribute buffer. It just says "inavlid operation".