What is OpenGL used for? And what libraries do I need?

Jul 4, 2015 at 10:06pm
I'm a new c++ programmer, and I've been wondering how I can get UI's and such things alike with my basic programs. I have a vague understanding that I can use different libraries with the #include function that can implement such things. I was wondering what libraries these were as I would like to start learning them. For some reason I have the term "OpenGL" stuck in my head when it comes to this. If I am wrong, would someone be able to explain to me what OpenGL does and what library/ies I would need for some UI's and geometry in my programs.
Last edited on Jul 4, 2015 at 10:27pm
Jul 5, 2015 at 7:19pm
OpenGL is used to give commands to the graphics hardware to efficiently draw complex graphics (3D shapes, texture mapping, shading, etc.). It can't really be used to make GUIs that integrate well with the overall desktop environment, although the desktop environment itself may use OpenGL to do its own drawing (e.g. KDE4 uses OpenGL to do desktop composition).
OpenGL has very much the same purpose as Direct3D, although they originally came from different backgrounds. Direct3D was designed specifically for games, while the design of OpenGL was more focused on CAD software. The gaming industry being what it is, the design of both has veered towards gaming.
Jul 5, 2015 at 8:31pm
Thank you, so to get some geometry in my programs. I should turn towards Direct3D?
Jul 5, 2015 at 8:50pm
Due to the explosion of gaming on Linux, you should use OpenGL, or, even better, some opensource portable game engine. UE4 is the top quality right now. Source engine is very good, but messy (wait for Source 2 instead?). Irrlicht is dated but way simpler. SFML is a mix: High quality, is portable and very simple to understand (it has no editor whatsoever). SDL2 is hardware accelerated, might be worth a shot.
Last edited on Jul 5, 2015 at 8:51pm
Topic archived. No new replies allowed.