Skip to main content
gamedev.net
🔒 Locked

which uses openGL which directx?

Started by ehsan_the_tiamat Feb 26, 2005 at 3:31 PM 16 replies 3.7k views
Original Post
ehsan_the_tiamat
ehsan_the_tiamat
HI please tell me which games use openGL and which use directx(new games). I think directx is more common than openGL whats your opinion? its all about graphics no sound or other parts just graphics.
Citizen Pain
Citizen Pain
A quick scan of the system requirements will tell you :)
A Quick scan of my own collection to hand says Doom3 DX9.0b, FarCry DX9, GFA Vice City DX9, I have Age Of Mythology somewhere which i assume is DX (due to it being released by Microsoft). The only game i could find on a quick scan that uses OpenGL is Star Trek Voyager Elite Force. It is powered by the Quake3 engine so i assume that uses OGL too. However Elite Force uses DX7 for sound, and possibly input and networking.

So to answer your question I imagine that DX is more widely used than OGL, at a guess probably because it is easier to understand and use for object oriented development, being OO itself. Possibly also becuase it may be far easier and more transparent to update that OGL with MS's various frameworks. Why do you ask?

It would probably be best to learn both if thats why your asking. I remember Half-life (the original) could use both as well as pure software for rendering (is my recollection correct?) so both could be usefull in a commercial environment. Also 3DSMax can use OGL and DX for rendering for a more modern example.
Marmin
Marmin
Quote:
Original post by Citizen PainI remember Half-life (the original) could use both as well as pure software for rendering (is my recollection correct?).
Yeah Half-Life supports OpenGL and Direct3d. I switched to Direct3D in an early stage because it just seemed more 'pro' to me..but now I learn both.
Miserable
Miserable
Quote:
Original post by Citizen Pain
A quick scan of the system requirements will tell you :)
A Quick scan of my own collection to hand says Doom3 DX9.0b

Doom 3 uses OpenGL for rendering. It may use other DirectX APIs and it may list D3D requirements as a guideline to what sort of video chipsets are necessary, but it uses OpenGL, not D3D. (If it used D3D, we wouldn't have a Linux port.)
henrym
henrym
Personally, I find OpenGL easier to learn and a cleaner API, but from a professional point of view DX is probably more valuable as far as scoring a job.
Citizen Pain
Citizen Pain
I'm willing to believe Doom3 uses OGL or DX for rendering but on the requirements the game requests a graphics card with DX9b compatiblity on the card? Why if it uses OGL. The Linux port, IMHO definatly uses OGL, but that doesn't mean the windows version does :).

I can see where the thought of DX being more 'pro' than OGL comes from, whether it has an basis in fact or not. OGL seems more teach yourself 3D programming than DX, not a crit on functionallity just my own impression of code written using both.

But then I learned OGL at UNI for graphics programming so my position is probably biased :).
ProPuke
ProPuke
Please don't confuse DirectX with Direct3D, DirectX is a whole collection of apis. Direct3D is a 3d oop api.
OpenGL is a simple function based solid state graphics library.
OpenGL does not fulfill all the roles DirectX covers & they are not mutually exclusive.
Direct3D was designed in oop to more suitably control itself if you will. In OpenGL it is upto you to provide the framework to do this. It mearly provides the functions & possabilities to do so.
I use GL & will continue to do so. I have always designed my own systems & would gain nothing from using a Direct3D framework.
Just some thoughts to consider :]

push{  To the above.  Doom3 uses DirectInput for it's key input. That's the only directx dependancy I can think of right now.  It is GL rendered}
____ _ ___ ___ __ _`By offloading cognitive load to the computer, programmers are able to design more elegant systems' - Unununium OS regarding Python
Citizen Pain
Citizen Pain
I'm not confusing DX with D3D, I assumed that Doom3 uses DX (i.e. D3D) for rendering because it asks for a fully DX compatible video card i.e. straight from the back of the Doom3 box :

3D Hardware Accelerator Card Required - 100% DirectX 9.0b compatible 64MB Hardware Accelerated video card and the latest drivers.

Why would it ask for DX9.0b compatiblity specifically if it catigorically never used it for rendering. I'm prepared to believe your right and OGL is the only rendering API used but why not ask for OGL support?

Of course DX has a more well defined feature set requirement that OGL, is that why?
ProPuke
ProPuke
Sorry, I was not saying it just for(at) you. I was stating it more globally for people. The terms DX & D3D seem to have both been used interchangeably & I wanted to cure any confusion

Doom3 uses DirectGraphics to access the graphics card (kinda like you use sdl to mount your gl apps). The renderer is still strictly OpenGL

"well defined feature set" ? well that's just my previous point. GL is not defined. It merely provides the base functions & thus the potential. It is upto you to build the structure (in opose to DirectX's oop design). Is that what you mean?
____ _ ___ ___ __ _`By offloading cognitive load to the computer, programmers are able to design more elegant systems' - Unununium OS regarding Python
Sneftel
Sneftel
Quote:
Original post by Citizen Pain
Why would it ask for DX9.0b compatiblity specifically if it catigorically never used it for rendering. I'm prepared to believe your right and OGL is the only rendering API used but why not ask for OGL support?
Because due to marketing, a consumer is more likely to know their DX compatibility level than their OGL compatibility level. It's all the same thing, of course, but in a more manageable number.
nts
nts
Quote:
Original post by Citizen Pain
3D Hardware Accelerator Card Required - 100% DirectX 9.0b compatible 64MB Hardware Accelerated video card and the latest drivers.

Why would it ask for DX9.0b compatiblity specifically if it catigorically never used it for rendering. I'm prepared to believe your right and OGL is the only rendering API used but why not ask for OGL support?


Because DX used numbers for the versions (ie 7, 8, 9 much easier to understand) where as openGL has extensions (there is also a version number tho). He could have said something like OpenGL 1.4 compatible card or 3D card supporting the following openGL extensions. But since the game uses DX9 for input (and maybe sound) then a card supporting DX9 would support all the OpenGL features required as well.

Doom 3 is OpenGL only for rendering, Carmack has never used D3D for rendering in any of his games. DX is only used for handling input and maybe sound.

Citizen Pain
Citizen Pain
Quote:
Original post by ProPuke
Sorry, I was not saying it just for(at) you. I was stating it more globally for people. The terms DX & D3D seem to have both been used interchangeably & I wanted to cure any confusion

Sorry my reply was a little more, erm adversarial than intended also, which was not my intention, me + too much overtime & weekend work = saying things wrong :).

Quote:
Original post by nts
Because DX used numbers for the versions (ie 7, 8, 9 much easier to understand) where as openGL has extensions (there is also a version number tho). He could have said something like OpenGL 1.4 compatible card or 3D card supporting the following openGL extensions. But since the game uses DX9 for input (and maybe sound) then a card supporting DX9 would support all the OpenGL features required as well.

Kinda what i was thinking may be the case, wasn't sure tho...

Quote:
Original post by ProPuke
Doom3 uses DirectGraphics to access the graphics card (kinda like you use sdl to mount your gl apps). The renderer is still strictly OpenGL

Sounds like it kinda uses both, do you mean it uses DirectGraphics to check compatibillities, that sort of thing, while OGL does the grunt work and actual poly pushing?
Slaru
Slaru
Quote:
Doom 3 is OpenGL only for rendering, Carmack has never used D3D for rendering in any of his games. DX is only used for handling input and maybe sound.


I agree that Doom 3 is GL rendered and I agree that Carmack, if given a choice, would definitely use GL over D3D. But, isn't there an XBOX port? Would this use D3D for rendering, or does the XBOX support GL too?
Khaos Dragon
Khaos Dragon
I believe Id hires third parties to port their games to other platforms/languages and such is being down for a direct3d port to the XBox.
CJM
CJM
Hey,

The Doom 3 engine uses openGL for it's rendering, pure software for it's audio (unless you have a creative card, but that's another story, and not in the actual doom 3 release) and directInput [Not sure about the last one, but I remember it being true]. I don't know of any other games to use the doom 3 engine, ID generally doesn't licence their technology before their flagship game is out.

Carmack has however said that he is beginning to see the benefits in DirectX [it has matured from the days when the DX port of doom/quake/whatever was done], so I wouldn't be surprised if IDs next big thing is based around DirectX rather than OGL.

The Source Engine uses DirectX. Half life 2 and Vampire the Masquerade are built on this engine. Some others probably are too, but I don't know.

Epic Games' Unreal 2 engine uses DirectX [or software], so that covers Unreal 2, Unreal Tournament, America's Army, and a bunch of other games, check www.unrealtechnology.com for more games.

The Unreal 3 Engine is just another iteration of the unreal 2 engine, and uses DirectX, though no games, except UT2005/6 have been announced for it.

The RenderWare engine is used for the GTA3 series of games, GTA3, Vice City and San Andreas, in addition to a bunch of others, like kill.switch, the movies and a bunch of others. It supports almost every renderer under the sun, OGL and DirectX are supported on the PC platform.

LaMothe's Gamebryo engine, which powers Dark Age of Camelot, Morrowind, Axis and Allies, Pirates! and Freedom Force supports DirectX, and maybe OpenGL, but I'm not so o-fay with Gamebryo.

So, IMO, most engines that use OGL use DX. The one exception to this is Doom 3, however if ID is moving in the direction of DirectX, then in one or two generations, I'm not sure where openGL will be with relation to PC platforms, with graphics providers already largely ignoring performance when it comes to GL drivers.

[edit: Raven is doing the Doom 3 XBox port methinks. Quake 4 also...]

CJM
Promit
Promit
Quote:
Original post by CJM
Carmack has however said that he is beginning to see the benefits in DirectX [it has matured from the days when the DX port of doom/quake/whatever was done], so I wouldn't be surprised if IDs next big thing is based around DirectX rather than OGL.


Considering there's a D3 port coming for XBox, it could be happening pretty soon...
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
raiden56
raiden56
well~~OpenGL is a industry interface standard and DirectX merely is a API for windows platform..so OpenGL is better than DirectX that i thought.Carmack know OpenGL is a standard not a OS platforms interface just like DX,so I think of in the direction of DX with ID SOFT is impossible...
am a newbie with game programming.let us learn together..hhh
noVum
noVum
Quote:
Considering there's a D3 port coming for XBox, it could be happening pretty soon...
AFAIK nVidia is providing a OpenGL driver for XBox D3.

Some listing:
- UT2004/UT2003: OpenGL or Direct3D (abstracted render backend, good idea!)
- Doom3: OpenGL (definitely, just look at the console output)
- Half-Life²: Direct3D
- WarCraft III: OpenGL or Direct3D
- FarCry: Direct3D. It has a OpenGL driver, but that is not supported and doesn't work very well.
- Splinter Cell 3: Direct3D

Most other games not listed are supporting Direct3D only. I like the Unreal way of doing things. Just abstract the backend and provide a shared library for both APIs, that's good coding style anyway.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.