Skip to main content
GameDev.net gamedev.net
🔒 Locked

OpenGL to lose the battle against direct 10

Started by Hodge Oct 5, 2005 at 5:15 PM 40 replies 6.2k views
Original Post
Hodge
Hodge
I personally prefer OpenGL over Direct3d. One of the biggest benefits of OpenGL is that it is open sourced where DirectX is commercial. Both are consided required for serious graphic programmer but it seems to me that OpenGL is losing favor with developers. In the past(DirectX 5 era) OpenGL was considered more powerful that DirectX however it seems that alot of developers think that this isn't the case. I have read alot of postings that state that OpenGL will lose it's current support from graphics and game developers when DirectX 10 comes. I personnally refuse to think that OpenGL will lose over Direct even if there are more books and more people that support it OpenGL will always be open source.
You fight like a cow
rip-off
rip-off
opengl is a specification, i think

AFAIK, opengl isnt "open source". however, i believe there are open source implementations of it, but the one im thinking of (mesa?) is a software renderer.

however, i generally found it easy to learn opengl, where as the insane amount of setting up and handles that need to be learned put my off directx.

the major benefit of opengl is that it is cross platform, asar as im concerned.

the other issue is directx is a graphics/network/input/otherstuff api, while opengl is a grahpics api.

they aren't directly comparable.

but SDL/openGL i find easier on the head. my 2 cents
storage
storage
I will surely not "abandon" OpenGL to use Direct3D 10, since OpenGL is the only alternative (more or less) for multi-platform programming. And I'm pretty sure most game developers will keep supporting OpenGL.
_the_phantom_
_the_phantom_
I'd love to know where you got that infomation from...
Simagery
Simagery
I think OpenGL still has a lot of life in it. For purely Windows-based games, you'll likely see a big shift to DirectX 10 simply due to the native support in Windows Vista and (at least from Microsoft) a lack of support for OpenGL.

Of course, that won't have a huge impact (MS not supporting OpenGL) because ATI/NVIDIA will (likely) continue to support it, thus users will have the necessary support available. As well, developers could always distribute the necessary support with their game (in the same way they do DX right now).

And don't forget, the PlayStation3 is based on OpenGL (or, rather, OpenGLES, or what they call PSGL). So game developers will certainly not be leaving OpenGL anytime soon. If anything, you'll likely see a resurgence in OpenGL now that a very close cousin/stepbrother is on the PS3.

That being said, I personally like DirectX *overall* in comparison to OpenGL, primarily due to the incredible amount of support provided by Microsoft. Purely at the API level, though, OpenGL is often "quicker" to get going and experiment with. As a result, most throw-away temporary renderers I've seen are implemented in OpenGL.
Promit
Promit
In any well designed engine, toggling between D3D and OGL (at least right now) is a trivial proposition. Sure it might require some QA, but the basic port is quick.

Now, with D3D 10, OpenGL/ARB will have to tack on some kludges...excuse me, approve some extensions quickly in order to come up to snuff, or they will have serious problems. OpenGL is no longer driving innovation, as it was for several years. They're playing a pure catch-up game now, and if they mess it up, they'll be relegated to the sidelines (i.e. alternate OSes).
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Toji
Toji
All things considered, OpenGL already is "relegated to the sidelines." There's no real compelling reason to use OGL if all your developing for is Windows, and since that's 99%-ish of the PC game market very few developers are going to do ports anyways. For someone in it purely for commerical reasons, DirectX is definately more attractive.

That said, like Promit mentioned: What API an engine runs on is pretty insignificant anymore. A well designed engine should be able to port from one to the other in a negligable amount of time. The days are gone where an engine would be pitched as "DirectX based" or "OpenGL based". It's all about the feature set and the tools now.

OpenGL is never going to "die": there are too many modeling apps and the like that use it, and too many older games that need it. The card manufacturers will continue to support it, regaurdless of how badly MS neglects it, and it will continue to be used for ports and various consoles. By and large, though, DirectX is the standard now, and that's the way it looks to stay for a long time.

(Note: I develop primarily using OpenGL, so don't take me to be a DirectX fanboy or anything. I'm just stating the facts.)
// The user formerly known as Tojiro67445, formerly known as Toji [smile]
Yann L
Yann L
Ah, the "OpenGL is going to diieee!!!11" post of the week. It was already overdue.

*sigh*

Anyway. Will OpenGL lose the "battle" against DX10 ? Nope, it won't. Let's look at some facts, shall we ? First, an API doesn't "drive innovation" anymore, these times are long over. The hardware vendors drive innovation, no, they push it at all price. Both major APIs just try to keep up with it.

And MS has an impressive track record of completely failing at this "catch the new GPU feature" game. The DX9 instancing fiasco is a perfect example where hardware vendors started rebelling against MS's API policies, by even technically circumventing it. MS learned their lesson (well, partially at least), and made DX10 broader in feature context than what has been done before.

OpenGL doesn't work this way, because it uses a different release model. OpenGL evolves continously, while D3D does it in jumps. It has always been the same: DX is a step ahead of OpenGL when a new version is released. Then after some time both are on par again. And finally, OpenGL gets the lead because new GPU features get released as GL extensions. Repeat the cycle for the next version.

So yeah, DX10 has features current OpenGL implementations don't have. So what ? OpenGL will get them as soon as the demand is there. And just wait until GPUs have surpassed DX10 features. Then OGL will lead again, until DX11. And so on. It's just the way both update models work.

Quote:

There's no real compelling reason to use OGL if all your developing for is Windows,

And there is no real compelling reason not to use it.

Quote:

and since that's 99%-ish of the PC game market very few developers are going to do ports anyways. For someone in it purely for commerical reasons, DirectX is definately more attractive.

How so ?

In fact, it's more a question about the graphics framework game companies license from third parties. Most companies won't give a shit about whether the engine they buy is D3D or OGL, as long as it's cutting edge and not too expensive. The reason why currently more 3D engines in the game sector use D3D is historical (well, around 2, 3 years ago). Theoretically, this could change again at any time.
Hodge
Hodge
Some misunderstanding people got from my original post, and it's entirely my fault for just putting in another attention getting & poorly written OpenGL post. Here is one post by the mod Yann L that shows how I screwed up my argument for OpenGL losing popularity.

Quote:

Ah, teh "OpenGL is going to diieee!!!11" post of the week. It was already overdue.

*sigh*



Well I never did say that OpenGL was going to "diieeee!!11" what I was trying to get at is how alot of developers are using Direct3d where openGL would work better. Take Carmack for instance he was a long term OpenGL guy and on the latest Doom installment he worked with DirectX 8 stating that DX8 at the time had the best pixel shader support and the best vertex shader support.

Perhaps I am just overeacting to Microsoft's success with Direct. But I wish that more individuals would avoid DirectX just because Microsoft is a 10 ton corperation with a "mostly" bad rep.

Also on a side note I also f**ked up by stating that OpenGL is open source, Opengl by itself isn't, I should have said it is the current industry standard. I was actually thinking about mesa which is an open source implementation of the OpenGL. I also forgot to state that opengl is cross-platform and that too many computer users are trapped in to using windows when they have other options. BTW sorry about my piss poor writtening style and all my english errors.
You fight like a cow
Yann L
Yann L
Quote:
Original post by Hodge
Some misunderstanding people got from my original post, and it's entirely my fault for just putting in another attention getting & poorly written OpenGL post. Here is one post by the mod Yann L that shows how I screwed up my argument for OpenGL losing popularity.

I wasn't specifically referring to your post. This is yet another standard D3D versus OGL thread. Whatever the exact way of starting it might be, it will always end in the same way, trust me on that. People always use the same fallacious arguments, ignore facts, and twist reality to fit with whatever API they might prefer. Again, this is not targeted at you in particular, it's just a typical property of such threads: objectivity dies first.

Quote:

Well I never did say that OpenGL was going to "diieeee!!11" what I was trying to get at is how alot of developers are using Direct3d where openGL would work better. Take Carmack for instance he was a long term OpenGL guy and on the latest Doom installment he worked with DirectX 8 stating that DX8 at the time had the best pixel shader support and the best vertex shader support.

Doom 3 uses OpenGL, except for the XBox version (obviously).

Quote:

Perhaps I am just overeacting to Microsoft's success with Direct. But I wish that more individuals would avoid DirectX just because Microsoft is a 10 ton corperation with a "mostly" bad rep.

And that is supposed to be a valid reason to avoid it ? Select an API based on objective technical assessments. Select it based on your personal preference for its semantics. Select it based on driver, OS or platform support. But avoiding an API because it is done by "the big evil M$" is just stupid. No offense intended, but I smell zealotry from miles around.

Quote:

I also forgot to state that opengl is cross-platform and that too many computer users are trapped in to using windows when they have other options.

Windows is the industry standard on consumer level platforms right now. Deal with it. As an indie developer, you have the choice: use Windows or Linux, use D3D or OGL. Use what you prefer, or what might be better suited to your particular needs. Choice is always good.

But if you are a large scale game development studio, your priority is not to bring down Windows or D3D and introduce the next OS revolution. Your priority is to get the game done on schedule, to reduce costs, and to make shareholders and/or publishers happy. What API is used to do that is completely irrelevant. More often than not, the techies (who might be able to judge the pros and contras of an API) are not even involved in the selection process. The purchasing and finance department will choose whatever engine seems to be most suited in terms of minimizing investment and a fast ROI.

In the industry, there are no OGL versus D3D arguments. The question doesn't even exist. It's all about the bottom line. Create a groundbreaking new OpenGL based 3D engine that sells cheaper than existing engines, and suddendly everybody will use OpenGL. Do the same with D3D, and the balance tips into the other direction again. Right now, it's the latter. Tomorrow, everything can change again.
Hodge
Hodge
This is what Yann L was talking about when he said People always use the same fallacious arguments like "the big evil M$" is always bad.
Quote:
Original post by Anonymous Poster
OpenGL isn't going to die ... but Micro$oft is sure trying to kill it in the new Window$ (vista)!

Is there any chance that Micro$$$oft will be able exclude OpenGL from Window$?
Something like: if you want your game to run on Linux, Unix, Free BSD, MacOS, HP calculators, alarm clocks, etc then you'll use OpenGL, but if you want to run it on Window$ then you WILL have to use DX (because a spinning cube will run at 10fps on OGL)?


I am actually currently running a build of the newest windows (Longhorn) and prior to me typing this post I find that it does indeed work quite well. The thing that gets me about Microsoft (and I am repeting myself) is that they do everything in their power to make people to be "stuck" using their products. Often I find that people arn't even aware that they can use some of their favorite software and API's on other platforms. I did however agree with you on this statement.

Quote:
Quote Yann L. Select an API based on objective technical assessments. Select it based on your personal preference for its semantics. Select it based on driver, OS or platform support.


Well said but any good developer should think about their customers os preference rather then their preferences. This is why I would discourage using directX. You simply can't use it on a mac or unix machine. BTW ID software first built the newer doom engine with support for directX then added OpenGL. It took quite awhile for them to successfully port the game to Unix & Mac
You fight like a cow
Yann L
Yann L
Quote:
Original post by Hodge
This is what Yann L was talking about when he said People always use the same fallacious arguments like "the big evil M$" is always bad.

Exactly.

Quote:
Original post by Hodge
The thing that gets me about Microsoft (and I am repeting myself) is that they do everything in their power to make people to be "stuck" using their products.

Of course, and that's a valid point against them. That's also why they have been subject to numerous antitrust lawsuits over the years, and probably will be in the future. But this should not be relevant for selecting the viability of an API in a commercial project.


Quote:
said but any good developer should think about their customers os preference rather then their preferences. This is why I would discourage using directX. You simply can't use it on a mac or unix machine.

Irrelevant. Macs or Linux are no viable game platforms right now. If your customer base is based on Mac or a Unix derivate, then the question doesn't even pose itself: OpenGL is the only alternative available. If you target Windows, select OGL or D3D on technical or financial points. There is no reason to discourage the use of an API, just because it might not work on platforms you don't even target.

Quote:

BTW ID software first built the newer doom engine with support for directX then added OpenGL. It took quite awhile for them to successfully port the game to Unix & Mac

Nope. Doom 3 has always used OpenGL, from the beginning on. It was recently ported to D3D for the XBox version, but that's it. You're thinking about non graphics related DX features, such as input and sound.
MARS_999
MARS_999
God I get sick of people stating id used DX first then went to GL. id has always used GL for all their game engines since Q2 if I remember right. I am not sure but I am assuming Unreal3 is using DX but the game is being ported to GL by Ryan Gordon to run on Mac... I know their toolset will be usable by all platforms so I am unsure what they are using to allow this.
Myopic Rhino
Myopic Rhino
Jeez, Yann. I keep fighting the urge to respond to this thread, and then a point comes up that I just *have* to respond to, but you beat me to the punch! [grin]
Twixn
Twixn
ID have always used OpenGL for rendering, before that it was all software. And, ID werent the ones responsible for porting Doom3 to Direct3D (for the xbox).

(Now for my 2 cents)

OpenGL will never die, if it does fail in the games industry, it will always be alive in the Everything-but-games graphics industries. Without the games industry, Direct3D wouldnt exist at all.

Microsoft's made a lot of controversal (sp) decisions in DirectX 10 and Vista...for example, everything pre-DX 10 will be layered ontop of it as it has no native support. So DX7+8+9 games will suffer on vista. However OpenGL still has a chance, nVidia, ATI and other IHV have spend billions on OpenGL, i dont think they will be too keen on Microsoft wasting that. Not to mention Software vendors that develop 3D Graphics (which means OpenGL).

Even if OpenGL does suffer, and has to have a backseat on Vista, it will still be there. And it will just force more people and buisnesses to Linux, not the majority, but some.

-Twixn-
I am Me...you cant argue with THAT can you!!!
mengha
mengha
OpenGL won't die IMO.

Doom 3 and various other games use it. The title we are working on (AAA) is also in OpenGL.
Morpheus011
Morpheus011
OpenGL surely will never die but the most compelling evidence that points to its fading away from mainstream markets is the fact that the next iteration of Windows is not going to natively support OpenGL (or so i've heard). This fact alone should definitely change the landscape and will probably be a determining factor in many studios API of choice. I think it's a terrible idea that Bill will not natively support it as it completely destroys backwards compatability with many applications and narrows the scope of applications that can be run on a strictly windows based system (that is unless the user installs the OpenGL SDK which they should!). However Microsoft is solely interested in market share and money. I assume this is a strategic position, albeit IMO a stupid one. I frickin' love me some OpenGL
Nitage
Nitage
Someone better tell Sony that OpenGL is dead, they don't seem to know about it.

Besides, Microsoft don't write graphics card drivers, ATI and nVidia do. Whether programs running on the new windows can use OpenGL simply is not up to Microsoft.

The new windows uses DirectX to render it's GUI. How many people will notice that the new windows GUI has been disabled when they're running a fullscreen game?
Jernej.L
Jernej.L
Quote:
Original post by rip-offAFAIK, opengl isnt "open source". however, i believe there are open source implementations of it, but the one im thinking of (mesa?) is a software renderer.


mesa does hardware as well.
Projects: Top Down City: http://mathpudding.com/
blanky
blanky
Quote:

We need a standard opengl sdk, which tells the newbies what to use and what not to.


I second that. OpenGL is great, but often the user is left to have to make functions for other things, unlike Microsoft's Direct3D, which has tons of things that do it for the user. I really think they should make an OpenGL SDK.

Topic Locked

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

Sign in to reply to this topic.