I'm making a base framework for an OpenGL game I'm making for Windows, I'm currently using the HWND, HDC and HGLRC as static variables in WinMain, so I have to pass them to other functions if I want to use them. Would it be better to make the global so I don't have to pass them or should I leave them static? Also, what is so bad about global variables besides that they take up memory right at the beginning of the program? Statics also always have memory allocated so does it matter?