| | |
windows graphics... history?
![]() |
•
•
Join Date: Sep 2007
Posts: 10
Reputation:
Solved Threads: 0
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.
Thanks ahead of time.
•
•
Join Date: Apr 2007
Posts: 28
Reputation:
Solved Threads: 0
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.
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.
>> 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.
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.
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.
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..
![]() |
Similar Threads
- Windows Vista Aero (Windows Vista and Windows 7)
- Freeprodtb!! (Viruses, Spyware and other Nasties)
- windows 2000 IE 6. need help to remove spyware (Viruses, Spyware and other Nasties)
- Viruses/Spam is EVERYWHERE!! HELP!! HJT Log inside PLZZ HELP (Viruses, Spyware and other Nasties)
- Internet Access Stopped Working (Viruses, Spyware and other Nasties)
- Internet Explorer-OUT OF ORDER + More (Viruses, Spyware and other Nasties)
- Graphics displayed as red x's when surfing (Windows 95 / 98 / Me)
- OMFG I need help with endless reboot cycle / freeze up... insane please help! (Windows NT / 2000 / XP)
Other Threads in the Game Development Forum
- Previous Thread: Save real Pinball. Please.
- Next Thread: Some Basic Game Development questions.. for my nephew
| Thread Tools | Search this Thread |
3d advertising ai algorithm ban c++ cambridge camera censorship china competition console development engine fov fpx game gamer games gaming gauntanamo government idaho in-gameadvertisement intellectualproperty laracroft live manhunt math mathematics matrix mercenaries microsoft mmorpg modded msn naked news nintendo obama palin physics pirate playstation politics projection ps3 rpg search software sony stephenhawking stocks studio technology terrorism tombraider uk videogame web wii world-of-warcraft xbox xbox-live xbox360






