Truely a Beginner Question

I just started teaching myself OpenGL on windows and I was wondering whether, in large programs, if any of you seperated the window manager and input code from the opengl code. I’m still going through all the tutorial programs so I imagine for quite a while I’ll be doing small programs with the code all thrown together, but it seems like it would be much nicer for portability, as well as organization, to seperate window manager/input code from opengl and even algorithms.

Go to and read the tutorials there. They are all very excellent and will answer your question.

from looking at big opensource engines, like OGRE. they pretty much abstract everything, even the renderer is just an “interface” and ogl is just a renderplugin at the very end.
but internally a lot is abstracted to allow different input/window handling, lets say for different platforms or other customization.

However I think as beginner one is more puzzled with what can actually be done and learn that, then having the overview to work with abstraction and get away from ogl. cause that makes only sense if you do something “big” and would get lost if all is thrown into one chunk