pGUI includes a simple OpenGL wrapper. Credit is especially due to Mic, on whose work much of this wrapper is based, particularly the euglr9.zip contribution of Mar 23/08, and also to Jean-Marc DURO, for making things cross-platform (not that I actually use glfw, just some opengl bits of that wrapper).
This only attempts to document routines and constants actually used in the provided demos. It is not a tutorial, just a quick lookup. It is also far from complete. To be honest, I understood a little bit of 3D math when writing some of the rosettacode examples, but I cannot really say the same about the opengl examples I have translated. My apologies if any of the code samples provided are somewhat out-of-date, but at least they work (flw).
I should also note that it is not my main intention to create a library suitable for full-screen flat-out gaming; something from PCAN may be more appropriate for that task. Instead it is to embed useful graphics capability in a desktop app such as a CAD program, or perhaps a utility to create/design gaming levels rather than the game itself. I will happily accept reduced performance in return for cross-platform operation, or a simpler and cleaner API. Several of the demos have been modified to minimise CPU usage, which of course would be important on a shared or remote platform, and in the specific instance of glNormal(), pGUI.e offers just two entry points instead of the ten variants offered in C.
Further reading
Obviously I assume you know how to use google or whatever your favourite search engine might be.There is some archived MSDN documentation based on openGL 1.1, which was officially released March 4, 1997 (!!). The wikipedia page on OpenGL has the full history.
There are several good articles on http://www.codeproject.com/KB/openGL/ and a few gems can be found on http://stackoverflow.com/questions/tagged/opengl though I suspect you will want to narrow that search down (eg [opengl] glBegin).
If I get time, I might translate some of the examples from https://en.wikibooks.org/wiki/OpenGL_Programming and maybe add those tutorials here. Also possibly http://www.apgardner.karoo.net/gl/demos.html (vol_fog already done, and may overlap others)
glBegin | - | The glBegin and glEnd functions delimit the vertices that define a primitive or a group of like primitives. |
glGetString | - | returns a string describing the current OpenGL connection. |
glShadeModel | - | selects flat or smooth shading. |