According to what i read here: http://www.linuxquestions.org/questions/linux-software-2/opengl-vs-mesa-whats-the-diff-351037/
Mesa is software rendering, while driver OpenGL is hardware rendering.
Every tutorial i came accross only show how to install Mesa. How can i set up a true (hardware accelerated) openGL? Does installing driver install the header? If so, which header? If i have a program compilled with mesa, do i have to recompile it to take the advantage of hardware accelerated? If installing the driver install the required library and header, what happen to mesa?
From the last post on the pointed site: "Does that mean that I should remove mesa packages if I have NVidia drivers installed?"
Also, now openGL is now version 4 and 5, but i can't find any tutorial that show how to create a context for those version, only version 3 max...
Like you can see, im not very sure how this work.
One last thing, this book: http://glprogramming.com/red/ is for which version of openGL? The guide version is 1.1 but it don't say it was written for which version.