Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Alientank

Why does id use Open_GL over DirectX 9?

Recommended Posts

OpenGL has been John Carmack's graphics API of choice since the GLQuake days. I guess he just didn't see enough reasons to make the switch. Anyway I don't really care - both are comparable in visual quality, support and speed these days.

Share this post


Link to post

yea but Open Gl isn't used anymore in most games so i would think that Jonny would want to make the change just because it makes sense in the long run.

Share this post


Link to post
Goliath said:

yea but Open Gl isn't used anymore in most games so i would think that Jonny would want to make the change just because it makes sense in the long run.

Switching to DirectX9 doesn't make sense in the long run. Over the next 5-10 years, I believe we will see a more diverse computing world, were inter-platform compatibility is going to be a very important thing to have.

OpenGL is the industry standard (especially for serious 3D work, like CAD/CAM), and so it is only logical that this standard carries over into games as well. Having one well-defined 3D API will make life a lot easier for programmers. OpenGL is a much more mature API, and it is supported by some of the most important companies in the business:

http://www.opengl.org/about/arb/notes/meeting_note_2004-03-02.html

The only people who really believe in DirectX are Microsoft, and only because it is their own creation. What they are trying to do is lock people in to using only their APIs, thereby crushing any hope of cross-platform compatibility.

By using OpenGL in conjunction with SDL, one can easily achieve the same or better results as with DirectX9, and have it work on Mac, Linux, *BSD, Solaris, IRIX etc. etc. with a minimum of effort.

Share this post


Link to post

if my memory serves me right, I'm sure that John's first experience in coding games was for the Apple II.

He bought a NeXT box during the Wolfenstein 3d / DOOM coding.

I think he has always been one to use systems that break away from the usual. Therefore he'd want his work to be available to the widest range of systems.

Hence the usage of OpenGL

Share this post


Link to post

the only reason that I think that Open Gl will live on is because I strongly believe that in the 5 years we won't be using windows but a linux system. IBM already made the switch.

Share this post


Link to post
Goliath said:

Alientank you just don't like nvidia. Why?


What does asking why he uses OGL have to do with Nvidia? I don't dislike Nvidia or ATI there is no fanboyism going on.

Share this post


Link to post

The reason why Carmack chooses OGL over DX is because OG is cross-compatible. Carmack hated, and I believe still dislikes DX, because DX is a windows only API, where OGL code can be used on various OS's like Linux, Mac, Windows with little change of code.

and like oscillik said, Carmack wants all people with different OS's to play the games id makes.

and I agree with kozmonaut. OGL is a much better API than DX because not only is the code simpler, but it works across different OS's. and its nice when mixed with SDL.

Share this post


Link to post

If I remember correctly JC attempted to make a D3D version of Quake as well. I'm not sure what version DirectX was at back then, but it sucked pretty bad so he basically just said "fuck this shit" and that was that. Nowadays the decision is probably more down to cross-platform versus Windows only systems.

Share this post


Link to post
DaJuice said:

If I remember correctly JC attempted to make a D3D version of Quake as well. I'm not sure what version DirectX was at back then, but it sucked pretty bad so he basically just said "fuck this shit" and that was that. Nowadays the decision is probably more down to cross-platform versus Windows only systems.


Yeah, DX did suck back then which was why he just dropped DX, and also because it's windows only.

Share this post


Link to post
Goliath said:

yea but Open Gl isn't used anymore in most games

Riiiight...

Top ten online games from gamespy.com/stats:

1. Half Life <-- has OpenGL support
2. America's Army
3. Battlefield 1942
4. Call Of Duty <-- OpenGL only
5. Wolfenstein: ET <-- OpenGL only
6. Neverwinter Nights <-- OpenGL only
7. Battlefield: Vietnam
8. Unreal Tournament 2004 <-- has OpenGL support
9. Quake 3 Arena <-- OpenGL only
10. Soldier Of Fortune 2 <-- OpenGL only

Share this post


Link to post
Arno said:

Riiiight...

Top ten online games from gamespy.com/stats:

1. Half Life <-- has OpenGL support
2. America's Army
3. Battlefield 1942
4. Call Of Duty <-- OpenGL only
5. Wolfenstein: ET <-- OpenGL only
6. Neverwinter Nights <-- OpenGL only
7. Battlefield: Vietnam
8. Unreal Tournament 2004 <-- has OpenGL support
9. Quake 3 Arena <-- OpenGL only
10. Soldier Of Fortune 2 <-- OpenGL only


I think that The Sims is openGL only also.

Share this post


Link to post

Surely you don't mean that as a cheap shot.

Likening games like Quake III to the Sims isn't even remotely sane!

Share this post


Link to post

I'm wondering how much re-writing had to be done to make the X-box version... which would need to be DirectX, i guess.

Share this post


Link to post
AirRaid said:

I'm wondering how much re-writing had to be done to make the X-box version... which would need to be DirectX, i guess.

I'd be very surprised if they did have to change to DirectX, particularly on Nvidia Xbox hardware. I would think it was more of a case of scaling down the quality of the assets and the size of the levels everywhere.

Share this post


Link to post
GS-1719 said:

I'd be very surprised if they did have to change to DirectX, particularly on Nvidia Xbox hardware. I would think it was more of a case of scaling down the quality of the assets and the size of the levels everywhere.


I'm sure alot of changing had to be done since xbox uses DX, but I don't think id did any porting work.

Share this post


Link to post

i'm interested as to how heavily the xbox port relies on directx.

i wonder whether they ported the whole opengl thing over to directx, or whether they kinda stubbed out the opengl stuff and communicated with the nvidia hardware more directly..

i'm not familiar enough with the two APIs (or xbox development) to say which would be more feasible, heh.

one thing for certain is that the xbox port is using directx for input and system handling, but so does the win32 port on the pc. the engine is just modular so that you can plug in linux system support or mac system support.

as to the thread topic, opengl is an open standard, directx is proprietary and controlled by microsoft. this allows directx to move more quickly when it comes to adding new features like programmability, opengl has to catch up but once it does it is generally more sane because they have their Architecture Review Board (the ARB in front of all those extensions).

the ARB is composed of several companies with a stake in opengl, including ati, nvidia, and even microsoft. the opengl standards are open and public, so where directx is Windows Only Forever, opengl is Wherever It's Implemented.

someone else mentioned john carmack's affinity for diverse platforms. he'll admit that none of the other platforms have any retail weight at all compared to windows, but there are benefits to running on other platforms, such as enforced modularity and revealing bugs that might only show up on certain platforms.

in conclusion, directx sux opengl ownz joo

Share this post


Link to post

The Xbox runs a trimmed-down version of the Win2000 kernel. It can run OpenGL just fine, but the developers have to put it on the game disc since it isn't supported out-of-the-box.

Share this post


Link to post
KozmoNaut said:

The Xbox runs a trimmed-down version of the Win2000 kernel. It can run OpenGL just fine, but the developers have to put it on the game disc since it isn't supported out-of-the-box.


so nvidia ported their opengl drivers to xbox?

Share this post


Link to post
mewse said:

so nvidia ported their opengl drivers to xbox?

You could say that. But it could also be that the Xbox has a complete (DirectX and OpenGL support) driver, and that the game designers only have to supply the OpenGL runtime.

But I'm not really in on how the Xbox is designed. I have a GC ;)

But I do know that the Xbox runs a trimmed-down Win2000 kernel, and that it is capable of OpenGL. If it wasn't, Doom3 would probably never be released for it. There's just too much OpenGL-only stuff in it.

Share this post


Link to post
Alientank said:

Does anyone know the reasoning for why they've used it for Doom 3?


Using DirectX 9 would not allow them to tap the full potential market like Macs and Linux, etc., meaning 1) Less fans are satisfied 2) ID makes less money and 3) OpenGL is probably easier to work with as well.

Share this post


Link to post

from what i know OpenGL is far easier to use. lets ignore the whole cross platform thing.

openGL has been around sence 1992, directX sence 1995-1996. OpenGL has been used and developed by far more people than directX so i am sure there is better stability with openGL. now back to platforms. OpenGL is a standard that is crossplatform. thus more people can develope it. also i am sure it is opensource, if not why is it called openGL?
both have about the same visual quailty but directX is extreamly propitary, only for windows, thus it really would not be a good idea to use it if you want to have cross platform 3d software.

Id is not gonna use directX in any product as far as i know. simply they would have to give up a part of the market. more and more people are useing linux/unix and MAC for games. so developing a big time game for directX only would really be a dumb idea, you could lose a large part of the market.

i am wondering about half-life and what it uses. i dont fallow up on that game so i dont know. if it is windows only i may not play it. i only use windows for 2 games right now (SH3 and anachronox)

Share this post


Link to post
Sephiroth said:

i am wondering about half-life and what it uses. i dont follow up on that game so i dont know. if it is windows only i may not play it.

If you're refering to Half-Life 2, it will use DirectX9.

Share this post


Link to post

I'm pretty sure its because Carmack has been disdainful of DirectX ever since it was born. It may be alright now, but you can read his thoughts on it when it was in the early years. The simple fact is, nothing won him over then, and since he's been using OGL all that time, it would be illogical to switch over.

That and the fact that it is the carrier of satans seed. (heh)

Share this post


Link to post

Direct X is too slow. I mean, the Far Cry demo runs slower than the Doom 3 alpha, on my computer at least.

Share this post


Link to post
AgentSpork said:

Direct X is too slow. I mean, the Far Cry demo runs slower than the Doom 3 alpha, on my computer at least.

That's probably because the Far Cry demo renders an entire tropical island, while the Doom3 alpha only has to worry about a couple of small corridors. I expect the full Doom3 game to support much larger areas.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×