windows graphics... history?

Reply

Join Date: Sep 2007
Posts: 10
Reputation: drichird is an unknown quantity at this point 
Solved Threads: 0
drichird drichird is offline Offline
Newbie Poster

windows graphics... history?

 
0
  #1
May 14th, 2008
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.
Reply With Quote Quick reply to this message  
Join Date: Apr 2007
Posts: 28
Reputation: ganbree is an unknown quantity at this point 
Solved Threads: 0
ganbree ganbree is offline Offline
Light Poster

Re: windows graphics... history?

 
0
  #2
May 14th, 2008
Ok, on windows you can use GDI, DirectX and OpenGL to create games.

GDI should not be used for any games in my opinion, it is not hardware accelerated and on vista due to the software / hardware bliting it has become even slower! If you try to make a game in this you will quickly hit the wall. GDI is meant to be used for creating windows applications, not games.

DirectX is only availiable on Windows and XBox, DirectX isn't in my opinion as good as OpenGL however OpenGL has a horrible plugin system. OpenGL can do more but DirectX can do more nativly. The plugins are really inconveniant requiring differant versions for each graphics card manufacturer. OpenGl can be used on Linux, Mac, Wii, PS3 in addition to windows. So thats another advantage.

OpenGL is implemented by differant vendors, therefore some are open source and some are closed source. The capabilities of the card are of coarse only known when the program runs. GDI is completly seperate, however if you want so some reason you can hybrid DX and GDI but the hardware/software swap is slow.
Last edited by ganbree; May 14th, 2008 at 9:54 am.
Reply With Quote Quick reply to this message  
Join Date: Aug 2005
Posts: 15,339
Reputation: Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute 
Solved Threads: 1460
Team Colleague
Featured Poster
Ancient Dragon's Avatar
Ancient Dragon Ancient Dragon is offline Offline
Still Learning

Re: windows graphics... history?

 
0
  #3
May 16th, 2008
>> Where does WinAPI fit into all this
That is the Windows operating system functions. OpenGL, DirectX, etc are wrappers around win32 api functions. You can do windows graphics without OpenGL or DirectX, but you can't do OpenGL without the WinAPI.
Don't PM me with questions -- you might get a nasty PM in response. If you have a question then post it in one of the forums.
Reply With Quote Quick reply to this message  
Join Date: Jul 2006
Posts: 1,091
Reputation: MattEvans is a jewel in the rough MattEvans is a jewel in the rough MattEvans is a jewel in the rough 
Solved Threads: 63
Moderator
Featured Poster
MattEvans's Avatar
MattEvans MattEvans is offline Offline
Veteran Poster

Re: windows graphics... history?

 
0
  #4
May 17th, 2008
OpenGL no more 'wraps WinAPI functions' than any other program or library that happens to run on Windows. OpenGL is platform agnostic, the need for Windows API with OpenGL apps is to get access to the driver frontend, and ( perhaps ) obtain a window / device context, although OpenGL itself mandates no windowing method specifically. Maybe the software reference implementation that ships with windows wraps WinAPI calls, but that's not the version of OpenGL that most gamerz see ( install graphics card drivers and you get the driver manufacturers accelerated OpenGL driver, which should go as direct-to-the-card as possible. I have no idea what they put in their drivers, but I'll bet they make as little use of the Windows API as they can get away with ).

Same with DirectX, it is supposed to go 'under' the API, as in, provide as close-to-the-metal access to the graphics card as is feasible, card vendors provide the implementation, and if this uses WinAPI in any way, thats secondary to using the features of the hardware.
Plato forgot the nullahedron..
Reply With Quote Quick reply to this message  
Join Date: Jan 2007
Posts: 25
Reputation: Grigor is an unknown quantity at this point 
Solved Threads: 3
Grigor's Avatar
Grigor Grigor is offline Offline
Light Poster

Re: windows graphics... history?

 
0
  #5
May 27th, 2008
Originally Posted by Ancient Dragon View Post
..., but you can't do OpenGL without the WinAPI.
Linux!
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Game Development Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC