Well I made it through my first semester of an MSCS. Almost. This summer I want to build a game. I am trying to understand a little bit of the history of Windows graphics and am a bit confused. There's WinAPI. There's OpenGL. There's DirectX. As I understand it, OpenGL was initially offered on NT platforms for high end engineering (CAD) apps and required high end (at the time) hardware. But isn't it a Unix based graphics library? So then some guys at Microsoft (Eisler, Engstrom, etc...) decided lower end PC's needed graphics libraries for games and introduced DirectX. Direct3D is a subset of DirectX for 3D routines specifically. Does Microsoft still offer OpenGL? Is it open source or must be bought from SGI? If a game program calls a DirectX routine which can be done in hardware with the right graphics card, DirectX is responsible for implementing the call either through the available hardware (faster) or through its own software routine (slower)? When does DirectX know the graphics card capabilities, at run-time, or when the game is compiled? Where does WinAPI fit into all this, does it sit on top of DirectX or is totally separate. What is a good source of reading for all of this?
Thanks ahead of time.