OpenGL 用にプログラミングするときは、通常 Glut を使用します。なぜGlutがOSに依存しないのか疑問に思っています。
OS が異なれば、使用する Windows システムもまったく異なります。
GLUT でサポートされているすべての OS には、OS 固有の API 呼び出しを GLUT ユーザーに提示される共通 API にラップする特定のコードパスが実装されています。興味がある場合は、FreeGLUT のソース コードを参照してください。実際の実装を含む、特定の環境ごとにいくつかのサブディレクトリがあります。
実際のレンダリングは、プラットフォーム固有のウィンドウ API から分離され、結び付けられています。
http://www.cs.uregina.ca/Links/class-info/315/WWW/Lab1/#GL_ARCH