×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Why You Should Use OpenGL and Not DirectX

ScuttleMonkey posted more than 4 years ago | from the market-droids-working-overtime dept.

515

stickyboot writes "The independent games developer Wolfire describes why they decided to use OpenGL instead of DirectX. The article mainly discusses the marketing strategies behind DirectX and how the API became so popular. It also goes over why a developer would choose OpenGL over DirectX and what this decision means for the gamer. 'Back in 1997, the situation was similar to how it is now. Microsoft was running a massive marketing campaign for Direct3D, and soon everyone "just knew" that it was faster and better than OpenGL. This started to change when Chris Hecker published his open letter denouncing DirectX. Soon after that, John Carmack posted his famous OpenGL rant, and put his money where his mouth was by implementing all of Id Software's games in OpenGL, proving once and for all that DirectX was unnecessary for high-end 3D gaming. This lesson appears to have been forgotten over the last few years. Most game developers have fallen under the spell of DirectX marketing, or into the whirlpool of vicious cycles and network advantages.'"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

515 comments

OpenGL and the rant about marketing (5, Insightful)

sopssa (1498795) | more than 4 years ago | (#30700382)

I am still kind of surprised that even after so many years, the open source communitys answer to marketing is only ranting about it.

Providing libraries, API's or platforms is NOT only about technical platform. *Nothing* in the world works like that. You must "market" it to companies, create a community around it with the right people and actually provide support and good tools to the developers. You can rant all you want about the technical sides of things, but if you do not understand this and completely ignore it you're only hurting yourself.

I have worked with both DirectX and OpenGL. In my opinion, OpenGL is loosing because:
1) DirectX has a comprehensive, well-documented references and documentation
2) DirectX provides a lot more than just 3D drawing - sounds, networking, fonts, input processing, and it used to have an API for 2D graphics before (relevant because the story is about why DirectX gained marketshare)
3) The DirectX libraries had more support in whatever coding language you wanted to use. You can argue this with the point that of course they had because Microsoft is a company so they can do it, but that doesn't change it. In fact, it would show that propretiery formats and libraries are better than open
4) Later it was possible to easily develop XBOX 360 games with DirectX and the tools were made good and easy to pick up. You may say it's irrelevant, that MS is using another market to improve their position, but it is not irrelevant. And unless OpenGL supporters start to work at it too, they're going to lose. Give more support and more value for the work!
5) DirectX was easy to pick up, and everyone supported it. If it's easy to pick up for beginners, they'll learn it and continue using it later as a professional (the same thing as why Adobe doesn't really care about home users Photoshop piracy)

It is NOT only about providing the technical platform. It is also about providing all the things that company it - some may call that "marketing", but it's mostly about giving support to those who use the platform, and giving more value for their time, work and money.

Re:OpenGL and the rant about marketing (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#30700408)

I am surprised that someone would want to use something as old as opengl. I bet those people still read their mail with elm, pine and mail.

Re:OpenGL and the rant about marketing (1, Funny)

Sir_Lewk (967686) | more than 4 years ago | (#30700434)

1) I'm suprized anyone would want to use something as old as DirectX....
2) I use mutt you insenitive clod!

Re:OpenGL and the rant about marketing (2, Insightful)

pyalot (1197273) | more than 4 years ago | (#30700574)

Don't feed the trolls, but here we go. DirectX is at least as old as OpenGL, but it's also chronically outdated on modern features that you can already use in OpenGL (that's thanks to opengl extensions as opposed to willy nilly snapshotting of features by M$uck)

Re:OpenGL and the rant about marketing (1)

Anonymous Coward | more than 4 years ago | (#30700692)

You must not have heard about all the complaining the OpenGL community does and the pressure the Khronos group gets then have you? Or maybe you've just selectively stopped listening.

OpenGL is actually behind the times. And nVidia vs. ATI extensions makes things a complete mess.

Re:OpenGL and the rant about marketing (3, Insightful)

pyalot (1197273) | more than 4 years ago | (#30700724)

That mess you talk of, it's what happens when people get together, each with his own idea, and try to collaborate. It's not perfect, but it sure the hell beats a dictatorship...

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700962)

Which is why OpenGL sucks for programming. Yet another set of extensions for Video Card X that I have to implement so that customers can run my software. I don't care if DirectX is a dictatorship, because DirectX just works. I don't make decisions in my business based on supporting other people's ideas... I make decisions based on what is cheaper, easier, and quicker to bring to market. It's all about MONEY.

Re:OpenGL and the rant about marketing (1)

digitalunity (19107) | more than 4 years ago | (#30700714)

Not even close. If you read the article, you'd know that. OpenGL is roughly a decade older than Direct3D.

Re:OpenGL and the rant about marketing (1)

zn0k (1082797) | more than 4 years ago | (#30700922)

Not quite. Iris GL is from 1982 and turned into OpenGL in 1992. DirectX was first released in 1995. So OpenGL is older than DirectX but not by a decade.

Re:OpenGL and the rant about marketing (1)

TheRaven64 (641858) | more than 4 years ago | (#30701080)

To further complicate things, DirectX 1 didn't come with Direct3D. This was not introduced until 1996, but was based on a third-party product that was shipping back in 1992.

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700974)

Ha! M$uck! Genius

Re:OpenGL and the rant about marketing (1)

jornak (1377831) | more than 4 years ago | (#30700438)

It is NOT only about providing the technical platform. It is also about providing all the things that company it - some may call that "marketing", but it's mostly about giving support to those who use the platform, and giving more value for their time, work and money.

That being said I've yet to see a game using OpenGL that can render anything as well/as quickly as DX10.

Re:OpenGL and the rant about marketing (5, Informative)

pyalot (1197273) | more than 4 years ago | (#30700582)

All of Rages/IDs software runs on OpenGL... that not quick enough for you?

Re:OpenGL and the rant about marketing (1)

InsaneProcessor (869563) | more than 4 years ago | (#30700950)

Yea, I've played them. They lack the realism that current games have. I don't play them anymore.

Re:OpenGL and the rant about marketing (1, Insightful)

Anonymous Coward | more than 4 years ago | (#30700440)

Your point is good and it is the same with open source programs. OSS developers give too little detail on user experience and interface and only think about technical details. It just isn't the whole package.

Ubuntu and Fedora have understood this and more developers should too.

Re:OpenGL and the rant about marketing (3, Interesting)

HermMunster (972336) | more than 4 years ago | (#30700462)

If Windows didn't have these technologies used to prop it up we'd have far less Windows in the world, which, in many ways would be the greatest thing for the consumer and the industry (as far as innovation and progress goes). Without DirectX propping up the monopoly we'd have other technologies and far more companies that would provide innovative competition, thus providing more, and often better, products.

We know that when you have a large number of competitors you get better products. The eReaders are a perfect example. First the Kindle and now about 10 competitors all showing that the competition has created a much greater choice for consumers as well as better features. Further netbooks and tablet PCs as well as touch capabilities in phones and the tablets are perfect examples of what happens when there's no technology to lock you in thus propping up the monopoly.

Re:OpenGL and the rant about marketing (5, Insightful)

Blakey Rat (99501) | more than 4 years ago | (#30700516)

Without DirectX propping up the monopoly we'd have other technologies and far more companies that would provide innovative competition, thus providing more, and often better, products.

Then instead of ranting about DirectX, why don't you put your money where your mouth is and make a competitor for DirectX?

I'm sick of open source buck-passing. Sure, it's terrible that Microsoft has such a commanding monopoly in so many areas, but on the other hand, why are you complaining about it instead of actually working to make it go away?

For every one of those bulletpoints the parent mentioned, there's nothing, nothing stopping you from providing a similar level of support for OpenGL.

DirectX has networking/input/graphics drivers? Then write those and attach them to OpenGL. DirectX has better documentation/examples? Then create them for your OpenGL solution! DirectX can be ported to Xbox? Fine; then get off your bony butt and go talk to Sony and Nintendo about enabling trivial porting of OpenGL apps.

Sorry, I just get sick of the whining by anti-Microsoft goons who don't have the cojones to actually compete with Microsoft-- stop passing the buck and do it already.

Re:OpenGL and the rant about marketing (0)

pyalot (1197273) | more than 4 years ago | (#30700616)

The parent is bogus FUD, learn to think and research for yourself.

Re:OpenGL and the rant about marketing (3, Informative)

msclrhd (1211086) | more than 4 years ago | (#30700698)

OpenGL is a graphics-specific API (like Direct3D). If you want sound, network, etc. support, try SDL or Qt.

Re:OpenGL and the rant about marketing (1)

CannonballHead (842625) | more than 4 years ago | (#30700700)

Exactly. It's somehow not fair that Microsoft is able to create a competitive product using money they get from elsewhere. "Leveling" the "playing field" of competiiton for DirectX and OpenGL should not be telling Microsoft that they aren't allowed to spend money on DirectX if they didn't make that money from DirectX; that may allow for more competition, sure, but only because you're forcing Microsoft to produce a worse product. Not exactly "progress," IMO.

(Ignore the fact that Ubuntu was started by a millionaire who made his money from elsewhere.)

Re:OpenGL and the rant about marketing (5, Insightful)

SanityInAnarchy (655584) | more than 4 years ago | (#30700754)

make a competitor for DirectX?

DirectX is a combination of several not-entirely-related technologies. The graphics component is Direct3D, and the stupidly obvious competitor is OpenGL.

why are you complaining about it instead of actually working to make it go away?

Because OpenGL is already better, as TFA explains. The problem is purely a marketing one, and requires a marketing response. The marketing response sounds like "complaining", but is actually encouraging people to think and explore their options.

DirectX has networking/input/graphics drivers? Then write those and attach them to OpenGL.

The result is called SDL. Again, these have already been done, they just aren't part of one giant marketing package, largely because they don't necessarily have anything to do with each other. For example, OpenGL powers my compositing window manager at the moment, but it really doesn't need to make any sound.

DirectX has better documentation/examples? Then create them for your OpenGL solution!

Fair enough.

DirectX can be ported to Xbox? Fine; then get off your bony butt and go talk to Sony and Nintendo about enabling trivial porting of OpenGL apps.

What makes you think the author of TFA hasn't done so? Indeed, what makes you think they would listen to the GP at all?

But FYI, PS3 and Wii both include a form of OpenGL, though there are differences.

Sorry, I just get sick of the whining by anti-Microsoft goons who don't have the cojones to actually compete with Microsoft-- stop passing the buck and do it already.

I understand what you're saying, but if it was that easy, we'd have done it already.

Whining is not mutually exclusive with doing something about it.

Re:OpenGL and the rant about marketing (1)

sopssa (1498795) | more than 4 years ago | (#30700526)

I don't think it would create that much more competition. 3D API's and libraries and things like these take a lot of work, and require support from graphics cards manufacturers (which there are basically only two, ATI and NVIDIA). It would be out of the question they would implement 10+ different codebases on their cards.

DirectX is actually up for competition, even if it's not in PC space. DirectX is the supporter of PC gaming and it competes against Playstation and Wii, and PS3 is definitely up to par in competition. 360 is backing up DirectX some in that space, but there definitely is competition.

Re:OpenGL and the rant about marketing (2, Insightful)

CannonballHead (842625) | more than 4 years ago | (#30700600)

which, in many ways would be the greatest thing for the consumer and the industry (as far as innovation and progress goes).

What industry? If you mean the 3D "market," I disagree. Having a large number of very different systems (e.g., let's just take Linux for example, drivers that work in one distro don't always work in another) does not necessarily help innovation and progress. Having a stable/typical setup helps, as you can focus in more on your product than worrying about whether or not it will work on all these different platforms/drivers/whatever. Unless we're talking about different industries, here.

As it is, I would rather have a lot of developers being able to easily produce quality stuff using DirectX than having developers squabbling about different 3D drivers, and then having to make sure my card supported all those kinds of drivers so I could play all those kinds of games, etc...

To me, that sounds bad. Sure, you could have an "open standard," but someone is controlling that, too. Being "open-source" does not mean you are inherently a better individual and less susceptible to the same squabbles that companies that are closed-source/proprietary get into.

I don't like all of what Microsoft does. But Microsoft does appear to do DirectX fairly decently... and they have realized it's to their advantage to let others easily access it and learn it (documentation, etc). I fail to see how that's a bad thing. Being good in an area, even if you're a monopoly, is not a bad way to squash competition. To think that a product should be worse so that competition could be better is ... a very strange way of looking at things, IMO. :)

Re:OpenGL and the rant about marketing (5, Insightful)

timmarhy (659436) | more than 4 years ago | (#30700870)

instead of whining about MS's success, why don't you all go out and beat directX at it's own game - an easy to use 3d gaming API. openGL is NOT as easy and thus more expensive to write games in.

if all these people wrote code instead of rants you'd be a little closer by now.

Re:OpenGL and the rant about marketing (5, Informative)

pyalot (1197273) | more than 4 years ago | (#30700546)

1) completely bogus: OpenGL has an both a good documentation and extremely good literature
2) completely bogus: These days M$ is advocating *not* using anything Like DirectInput, etc. In fact, DirectSound doesn't even work on Windows7
3) completely bogus: If you're not doing C#/C++ on Visual Studio using Com+, you're not getting DirectX. OpenGL can be coded in anything, Delphi, Python, C (gcc), C++, perl, Ruby, etc.
4) The only thing you got right, remotely
5) completely bogus: Before version 9 or 10, DirectX was the most hard and retarded thing to pick up, then it slowly, very slowly, got better.

Re:OpenGL and the rant about marketing (1)

WilyCoder (736280) | more than 4 years ago | (#30700624)

I would mod you up, but I've already posted. I agree with everything you have said.

Re:OpenGL and the rant about marketing (2, Informative)

sopssa (1498795) | more than 4 years ago | (#30700630)

3) DirectX works just fine with C/C++/Delphi. I have used it with all of those, from version 6.
5) Not really. I'm not even a game developer myself, and I was a teen at that age, but version 6 of DirectX was really easy to pick up. And I used it with Visual Basic and Delphi, because frankly C/C++ was pain in the ass to quickly create something fun as a 12 year old. And so did games too - only games supporting OpenGL was those based on Quake engine, and even they had DirectX engine too (HL did at least)

Re:OpenGL and the rant about marketing (1)

pyalot (1197273) | more than 4 years ago | (#30700774)

Not to insult the 12 year old programmer target market, but it's well documented (by Carmack for example) that back then, Direct3D was a complete mess...

Re:OpenGL and the rant about marketing (1)

sopssa (1498795) | more than 4 years ago | (#30701002)

Not to insult the 12 year old programmer target market

You're forgetting here that the people learning these will be the people that will be professionals soon.

Like I said in the original comment too, Adobe doesn't really care about teens pirating their Photoshop for home use. Over their amateur use they learn it and later go work at some place, and they will use Photoshop in work environment too.

Re:OpenGL and the rant about marketing (1)

HAKdragon (193605) | more than 4 years ago | (#30700892)

And so did games too - only games supporting OpenGL was those based on Quake engine, and even they had DirectX engine too (HL did at least)

Unreal and Unreal 2 engines supported OGL as well.

Re:OpenGL and the rant about marketing (3, Informative)

Nadaka (224565) | more than 4 years ago | (#30700694)

I would also point out that there are open standards for networking, input and sound. They just are not all bundled up under a single name.

Re:OpenGL and the rant about marketing (4, Informative)

shutdown -p now (807394) | more than 4 years ago | (#30700722)

If you're not doing C#/C++ on Visual Studio using Com+, you're not getting DirectX. OpenGL can be coded in anything, Delphi, Python, C (gcc), C++, perl, Ruby, etc.

First of all, if a language can call C APIs (and, in particular, can deal with C function pointers returned by those APIs), it can call COM APIs as well. DX isn't even "COM", it just uses COM conventions (vtable layout, refcounting etc) - but it's not a set of proper registered COM objects. In particular, this means that you absolutely can write DX applications using gcc [blogspot.com] (e.g. Mingw, on Windows), and even g++, since its vtable layout is (by design) COM-compatible.

Furthermore, there are plenty of high-level DX wrappers for various other languages: Delphi and Python from your list have them for sure, and there are many more (just google for "directx language").

Re:OpenGL and the rant about marketing (3, Informative)

trifish (826353) | more than 4 years ago | (#30700766)

DirectSound doesn't even work on Windows7

Where did you hear that? Because, that's nonsense (or, as you say, complete bogus).

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700902)

I second that. Directdraw, directsound, directinput all work in windows 7. Theres nothing to argue with here really.

Re:OpenGL and the rant about marketing (1)

lot3k (840988) | more than 4 years ago | (#30700910)

Thank you, I was torqued up after reading that post, thankful to see a counter arguement was already made. Dx V9 was what turned that ship around. However, I do agree with the point on marketing. When you have a vested interest in something you will do what it takes to insure it's survival. Including synergizing your seperate markets for interoperability, pigeon holding developers into that line of work.

Re:OpenGL and the rant about marketing (1, Insightful)

Anonymous Coward | more than 4 years ago | (#30700550)

I have an even better story for Slashdot. It's called "Why You Should Fuck Off and Let People Use What They Want".

Fuck, seriously. First it's the obnoxious Linux pushers and now this?

Re:OpenGL and the rant about marketing (0, Flamebait)

starbugs (1670420) | more than 4 years ago | (#30700806)

I have an even better story for Slashdot. It's called "Why You Should Fuck Off and Let People Use What They Want".

WELL, I WANT TO USE A F***in MAC!
And because MS pushes it's big ego around and 90% of the people believe what MS says, I am DENIED that.
There isn't a single game company that would not like to sell to both Windows and Apple customers, but because of MS's BS they falsely think they might be at a disadvantage.

Re:OpenGL and the rant about marketing (1)

InsaneProcessor (869563) | more than 4 years ago | (#30701018)

There isn't enough of a game market on a Mac to justify the expense. You have to pick the largest base when it is over 50% to be profitable. Unless you don't mind loosing to money.

Re:OpenGL and the rant about marketing (0, Troll)

lattyware (934246) | more than 4 years ago | (#30701046)

How about if you only want to hear about what you want, you sit at home and don't browse fucking slashdot.
Seriously, you come on a news, opinion and discussion site, and then expect not to have to listen to anyone else giving an opinion. What the hell are you on?

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700556)

all of the above is irrelevant to me because it's just for Windows.

Re:OpenGL and the rant about marketing (3, Interesting)

HermMunster (972336) | more than 4 years ago | (#30700558)

The rant is no more of a rant than you find closed source rant about regarding open source.

And, the updated spec for OpenGL had glorious ideas but somehow they fell through. Then Microsoft decided they'd cancel support for OpenGL in Vista/Win7 (yay, way to compete -- try to kill a solid viable product used by so many).

OpenGL still has a bright future as soon as they can complete what they promised.

Re:OpenGL and the rant about marketing (1)

digitalunity (19107) | more than 4 years ago | (#30700570)

As long as OpenGL continues to support the newest features first through extensions, there will always be a place for it.

For a long time, OpenGL was used in industrial and visualization applications. It wasn't designed specifically for games, hence why it was never developed into a fully featured multimedia library. This article very well articulates the fact that OpenGL is available on quite a lot more devices than DirectX and for any cross platform developers, this is extremely important.

I don't see OpenGL vendor support dying off any time soon either. Most vendors have a line of super high-end cards aimed at corporate users for CAD and large set visualization. They wouldn't sacrifice those users to save a buck because those types of cards are the most profitable.

Re:OpenGL and the rant about marketing (4, Informative)

jfbilodeau (931293) | more than 4 years ago | (#30700580)

Corrections/clarifications

1) So does OpenGL
2) True -- Let's talk Direct3D vs OpenGL
3) False -- Name me one language that doesn't have OpenGL bindings
4) The 360 has a DirectX-like API. OpenGL-like interfaces is used on Wii and PS3
5) OpenGL is easy(er?) to pick up

Re:OpenGL and the rant about marketing (2, Funny)

shutdown -p now (807394) | more than 4 years ago | (#30700826)

False -- Name me one language that doesn't have OpenGL bindings

Well, we couldn't find any for INTERCAL (we also use Brainfuck for low-level optimization of critical code sections). Meanwhile, D3D APIs literally blend right in! ~

OpenGL is easy(er?) to pick up

On a serious note, this one is arguable. I will concede that it's much easier to write a simple 3D application in something like SDL+OpenGL, because of many sane defaults. However, if you try to get it even to the level of a hobbyist but not horribly outdated game engine, the amount of complexity quickly increases for OpenGL as well. I'm not an expert in either, but from comments of people who are, it seems that D3D APIs got mostly sane in D3D9, and most of the flak it gets for being overcomplicated is an artifact of older versions (where it held true).

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700628)

The open source community is generally concerned with creating better software and technology, not marketing. Marketing often overshadows good tech.

Cross-platform development tools and standards have many advantages for developers. The advantages may not be seen as very important to those developing strictly for MS platforms.

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700666)

While OpenGL certainly has issues, your argument that DirectX is better because it is proprietary is so flawed where does one start? The same argument would hold that the best way to develop for the iPhone would be to use Apple's preferred language and dev environment. Which is great an wonderful, unless you want your application to work on Android. DirectX is a fine solution -- if you don't mind being locked into Microsoft's world. There's some nice padding on those bars, and the cage is well decorated, but you can't leave it without some serious effort.

So, DirectX is better/superior to OpenGL because it is proprietary and locks you into a single vendor's ecosystem? Wow!

How about: DirectX is superior to OpenGL on Microsoft's platform due to better integration/lock-in and easier development overall for the application (when confined to that walled garden).

Your rant missed the point that OpenGL failed as a gaming API because the vendors behind it didn't care about gaming and only concerned themselves with long term, stable APIs no matter if those were rendered irrelevant by changes in graphics display technology.

Re:OpenGL and the rant about marketing (1)

mikael (484) | more than 4 years ago | (#30700678)

Over the years (from 1996 to present), DirectX was marketed as having an advantage over OpenGL because DirectX would have all the latest features before OpenGL would have them added
as extensions. Microsoft's official policy was that OpenGL was for supporting the CAD market, while DirectX was for everyone else.

The ARB was always blamed for causing the delay in having a single agreed standard across all the vendors (Cg vs. GLSL vs. DirectX HLSL). The only other advantage that I see is that DirectX offers higher level data structures for rendering (triangle, quad, and general meshes).

There are open source equivalents to the audio such as OpenAL, and there are plenty of books and demos to teach programming techniques.

Reality Check From A Real Game/Graphics Developer (5, Insightful)

Anonymous Coward | more than 4 years ago | (#30700738)

I don't know whether to laugh or cry at people like you.

Let's just sum up the platforms our company supports:

PS3
Wii
Linux
Mac
Windows
Android
iPhone
Various embedded custom ARM based hardware

Guess which API is the one we use for all of those platforms - except the two consoles?

OpenGL

Guess which API will be used for the next media hardware platform no one has heard about yet?

OpenGL

So, yeah, go right ahead and keep babbling about how somehow OpenGL needs to 'prove' itself. DirectX is a dead end API to anyone except the fading Windows gaming market and teenage Windows only coders.

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700856)

OpenGL is loosing
You mean losing

Re:OpenGL and the rant about marketing (0)

Anonymous Coward | more than 4 years ago | (#30700890)

i agree.....

http://topentertainmentblog.com/

Re:OpenGL and the rant about marketing (5, Insightful)

Synchis (191050) | more than 4 years ago | (#30700952)

The interesting part of your whole argument is that you completely ignore the fact that both Wolfire and ID Software do more than just rant about it.

They develop games that support OpenGL. What they want, is *other* big developers to stop supporting the inferior libraries and open their eyes.

Plan and simple: There is nothing bad about Open standards.

- If they are broken, you can fix them.
- if they lack features, you can add them.
- If the performance is poor, you can improve it.

Can you say this about Direct3D? The only entity that can fix, add to, or improve Direct3D is Microsoft. Period.

- If its broken, you have to wait for a patch.
- If it lacks features, you have to wait for the next version, and pray that it supports your operating system.
- If the performance sucks, you have to deal with it.

Whats good about that? And thats talking a strictly Windows audience.

From a cross platform point of view, there really is just one choice. And its not Direct3D.

Former OpenGL developer (5, Insightful)

WilyCoder (736280) | more than 4 years ago | (#30700452)

As a former OpenGL developer, I am not too fond of GL anymore.

Khronos really disappointed a lot of people when they announced the GL3 specs. They had promised SO much and delivered SO little. Khronos claimed that it didn't want to piss of the CAD community, which is heavily GL based. They basically chose to please the CAD community instead of the gaming community.

That move totally killed GL for me.

Re:Former OpenGL developer (5, Interesting)

WilyCoder (736280) | more than 4 years ago | (#30700508)

I know its taboo to respond to oneself, but I forgot to mention the recent release of the GL books (red and orange) adequately display the state that GL is in. They STILL do not have geometry shaders in the standard, and its freaking 2010! Yes, you can use those shaders via extensions, but anyone who recommends that path has not been personally burned by vendors supporting extensions to different levels. Writing code that uses extensions that only work on Nvidia and not ATi (or vice versa) is NOT what GL is about!
 

Re:Former OpenGL developer (5, Informative)

Anonymous Coward | more than 4 years ago | (#30700728)

You are not up to date then. OpenGL 3.2 has it in the standard.

Re:Former OpenGL developer (1)

onefriedrice (1171917) | more than 4 years ago | (#30700920)

but anyone who recommends that path has not been personally burned by vendors supporting extensions to different levels. Writing code that uses extensions that only work on Nvidia and not ATi (or vice versa) is NOT what GL is about

It doesn't take long to figure out and know which extensions work reliably across all relevant cards. If you're writing any code before you know this stuff, you're doing it wrong. You'll end up spending a lot of time debugging nvidia's and/or ATI's drivers for them. Just stick with the extensions which are known to be reliable. It's not that difficult.

OpenGL is clearly behind DirectX, but it is still very capable if you know what you're doing. Besides, it is the API if you're targeting more than just Microsoft's platforms, so rest assured it's definitely not going away.

So Basically, You're Just An Idiot (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#30700940)

DirectX sounds like the perfect API for someone as dumb as you obviously are. You'll fit right in with the mass of other shitty teenage Windows coders all working on their own crappy little FPS at home built out of leaked Valve and Epic source code.

 

John Carmack ditched OpenGL (5, Insightful)

Anonymous Coward | more than 4 years ago | (#30700466)

In an article a couple years back during the Doom 3 release he(John Carmack) said in later articles that they would be moving away from the OpenGL platform and considering he was one of the biggest backers of it. He even said in the article that they liked DirectX and the new features they have added, also that it was a lot better to work with these days and supported more. I can only imagine after the last fiasco update that OpenGL put out and all the missing features they promised, it looks pretty dismal for that development team as they cannot deliver what they promise.

Really the last place OpenGL stands strong is in AutoCAD and even they have indicated that the platform will not last longer, so we may see AutoCAD be using DirectX in the next few 5-10 years.

Re:John Carmack ditched OpenGL (5, Insightful)

shutdown -p now (807394) | more than 4 years ago | (#30700606)

I have posted this citation by Carmack in a comment on recent article on DX11, but it seems to be very much relevant here as well, so I'll re-post it - especially as TFS mentions Carmack's opinion circa 1997 (which favorably matches with the point of the article), but conveniently omits the more recent comment. Here it is:

"DX9 is really quite a good API level. Even with the D3D side of things, where I know I have a long history of people thinking I'm antagonistic against it. Microsoft has done a very, very good job of sensibly evolving it at each step—they're not worried about breaking backwards compatibility—and it's a pretty clean API. I especially like the work I'm doing on the 360, and it's probably the best graphics API as far as a sensibly designed thing that I've worked with."

Re:John Carmack ditched OpenGL (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30700800)

Standard Slashdot response:

"John Carmack"?? LOL, is that even a real person? Probably a paid MIKRO$HAFTZ shill. Everybody knows that OpenGL is the best thing ever, and if you disagree then you also must be an astroturfer.

Re:John Carmack ditched OpenGL (5, Interesting)

Xest (935314) | more than 4 years ago | (#30700812)

This is really it, the summary almost sounds like a complete troll.

OpenGL didn't lose out because of Microsoft's marketing, it lost out because whilst OpenGL stagnated, DirectX grew and grew to become a completely unified games development framework. Carmack may have had a point 12 years ago, but whilst OpenGL development completely ignored criticisms, Microsoft took criticism from the likes of Carmack on board and improved performance of their API whilst adding new features, providing great documentation and tidying up the interface.

Citing an argument from over a decade ago is desperate to say the least.

OpenGL needed to become something more, it needed to become part of a unified game development library in itself- we had part of that with OpenAL but it needed everything, we simply need an Open Multimedia/Gaming framework that can do everything that DirectX can do.

The fact is, game development requires more code and more content than ever before, developers can simply no longer justify spending time on filling in the gaps when other libraries like DirectX already have those gaps filled.

I would love nothing more than a resurgence of a set of open libraries covering the various facets of game development like DirectX does because it'd mean near zero effort porting to Mac and Linux, but right now the extra effort required to use OpenGL and OpenAL and then fill in the other gaps yourself coupled with the additional support requirements just doesn't justify the relatively minimal extra userbase for many developers.

Re:John Carmack ditched OpenGL (3, Interesting)

shutdown -p now (807394) | more than 4 years ago | (#30700968)

whilst OpenGL development completely ignored criticisms, Microsoft took criticism from the likes of Carmack on board

That kind of feedback is actually formalized - there's a committee called Microsoft DirectX Advisory Board. I'm not sure whether Carmack is on it, but e.g. Tim Sweeney (the Unreal guy) is, judging by one of his interviews.

I don't know how much influence that board has over DX design, however ("advisory" in the name gives a hint, but there is still a wide range of possibilities). Would be interesting to know. Could it be that D3D9 was a significant leap that Carmack claims it to be precisely because of heavy participation in its design by people who actually use it?

Re:John Carmack ditched OpenGL (1)

pyalot (1197273) | more than 4 years ago | (#30700690)

Well, AutoCAD, Softimage, Maya, 3ds max, Cinema 4d, Rhino, ZBrush, yeah, it's just a "few" standing in the way of DirectX right? It's not like THE ENTIRE FUCKING PRODUCTIVITY APP INDUSTRY is using OpenGL, right? Geeze, get a clue man.

Re:John Carmack ditched OpenGL (5, Informative)

GooberToo (74388) | more than 4 years ago | (#30700818)

Really the last place OpenGL stands strong is in AutoCAD and even they have indicated that the platform will not last longer, so we may see AutoCAD be using DirectX in the next few 5-10 years.

I find that hard to believe. Right now there is a new renaissance in game development and game platforms. Mobile platforms are just now grabbing noteworthy market share and it looks like its only continuing to grow as more mobile devices increase in capability - especially 3d capabilities. Thus far that segment has clearly spoken. Thus far this segment is OpenGL and/or OpenGL ES. And that's entirely his point. You want to chase an emerging market plus cover all other platforms, you have exactly one option - OpenGL.

If you develop via OpenGL you can address XP+Vista, Mac, Linux, iPhone, and Android, plus all the major consoles. Its one stop shopping. With DX and comparable graphics with OpenGL, you can only target Vista. If you want Vista + XP + Consoles, you're looking at DX9 which is a subpar graphics experience compared to that which is provided by OpenGL. Simply put, OpenGL provides you more platforms more easily.

We most certainly have not reached any critical point which can not be reversed. As the author clearly points out, OpenGL vs MS is much the same today as it was in the past. At this point, its strictly about mind share and that needs to change.

Much is said that OpenGL is less than DX, and that's true. But people seem in a hurry to ignore the fact that there is a standardize solution which is OpenGL/OpenAL/OpenSL/SDL. When game developers talk about OpenGL as a solution, they really mean all four. OpenGL has a complete solution which addresses both CAD and gamers alike. The only questions is, are companies smart enough to realize this - far too often, its seems not because of the MS marketing. And as I've said many times before here, MS is not so much a technology company as they are a marketing company. Generally speaking their technology is second rate, but their marketing and business prowess is world renowned. All too often people confuse the facts.

Ultimately, the problem is that the PHB making the technology decision is simply unaware of the poor MS-centric decision they are making, which is then costing them additional dollars to later turn around and target the platforms they specifically excluded themselves from by picking DX in the first place. OpenGL needs to be championed by someone that understands how to speak PHB so that OpenGL can be fairly evaluated. Right now the only contender who is whispering into the PHB's ear is MS, and as a result, everyone is losing.

We should use open GL because we can play (0)

Anonymous Coward | more than 4 years ago | (#30700470)

GL quake? :D

I'm sorry but I don't really care (0, Flamebait)

TyroneShoe (912878) | more than 4 years ago | (#30700518)

This is like a VHS vs. Betamax debate. Like millions of other people, I'm not a developer. I exclusively use Windows for PC gaming. I could give two flying F's whether my game is developed in OGL or DX. Coke, Pepsi, Ford, Chevy, just don't care...

Re:I'm sorry but I don't really care (3, Funny)

Anonymous Coward | more than 4 years ago | (#30700642)

There is a huge difference between Pepsi and Coke, just for the record.

Re:I'm sorry but I don't really care (5, Insightful)

Hatta (162192) | more than 4 years ago | (#30700658)

I exclusively use Windows for PC gaming. I could give two flying F's whether my game is developed in OGL or DX.

If more games were developed in OGL, they would be easier to port to other operating systems (or run under Wine)so you wouldn't need to use Windows anymore. That would save you a hundred bucks or so on a Windows license, or at the very least the need to reboot to play a game. That's got to be worth at least one flying F.

Re:I'm sorry but I don't really care (1)

MobyDisk (75490) | more than 4 years ago | (#30700852)

Yeah, but if you want to port to the XBOX 360, you need to use DirectX. Sometimes I think that the XBOX 360 was designed solely to wrestle control from OpenGL. Windows supports OpenGL, so there's no reason they couldn't have supported it on the XBOX/360.

Very few game studios develop their own engines any longer - they let the engine developers take care of this problem. This is especially important because the world isn't just OGL -vs- DirectX. Every major console now has it's own form of parallel processing, and someone has to optimize the engine to work in that environment.

Re:I'm sorry but I don't really care (1)

Hatta (162192) | more than 4 years ago | (#30700858)

What do Nintendo and Sony do? Do they use DirectX?

Re:I'm sorry but I don't really care (1)

MobyDisk (75490) | more than 4 years ago | (#30700960)

I know the Nintendo DS supports OpenGL, so does the PS2 and PS3. I don't know about the Gamecube or Wii. In general, neither Sony nor Nintendo port their games to other platforms. I don't know what engine they use, but I'm guessing they use OpenGL.

Re:I'm sorry but I don't really care (1)

Servaas (1050156) | more than 4 years ago | (#30700906)

Doesn't mean you shouldn't care. I'm not a developer myself but i understand competition drives consumer delight.

Killer App (1)

decipher_saint (72686) | more than 4 years ago | (#30700524)

There's nothing around it; OpenGL desperately needs a killer app.

Show people something amazing and tell them "OpenGL did This."

OpenGL has/had Killer Apps! (1)

Airw0lf (795770) | more than 4 years ago | (#30700762)

There's nothing around it; OpenGL desperately needs a killer app.

Show people something amazing and tell them "OpenGL did This."

What about all the stuff id put out? GLQuake (remember how much of a quantum leap that was over anything at the time with a 3dfx card?), Quake 3, Doom 3, etc...When you think about that, one does wonder if it's just MS and it's marketing droids that got Direct3D to where it is today.

Re:OpenGL has/had Killer Apps! (3, Interesting)

decipher_saint (72686) | more than 4 years ago | (#30700908)

You mentioned Quake 3 (which is just a little over a decade old) that got me thinking, what software DOES run OpenGL?

http://en.wikipedia.org/wiki/List_of_OpenGL_programs [wikipedia.org]

The fact that I didn't know most of those titles (many of which I have or have played) had support for OpenGL is a testament to the lack of marketing and the push the OpenGL community needs to make to get people excited about it.

OGL V D3D (1)

Dark_Matter88 (1150591) | more than 4 years ago | (#30700532)

OpenGL and not Direct3D. OpenGl is best in my view simply for cross platform. If OGL3 was what it was to be it would have been better. In the end legacy won that battle.

Re:OGL V D3D (0, Flamebait)

InsaneProcessor (869563) | more than 4 years ago | (#30700584)

OpenGL will not support features that games need, across platforms. OpenGL is written for the software and does not utilize all of the true 3D realizations of the hardware. To write any modern game on OpenGL is a dismal failure.

Re:OGL V D3D (0)

Anonymous Coward | more than 4 years ago | (#30700808)

DirectX doesn't support *any* features across platforms. What does that make it?

Re:OGL V D3D (0)

Anonymous Coward | more than 4 years ago | (#30700846)

DirectX is not available on MacOS. The iPhone does not support DirectX. Linux does not support DirectX. Everybody in academia uses OpenGL.

Apples to Oranges (1)

Giltron (592095) | more than 4 years ago | (#30700668)

OpenGL is about graphics. DirectX is alot more than that. Should be comparing Direct3D and OpenGL

Also, Direct3D is pushed by Microsoft (heavy PR and community support), unlike the openGL committee (no PR and fragmented community support) so the base spec is perceived to be slower/inferior.

Re:Apples to Oranges (2, Funny)

bakawolf (1362361) | more than 4 years ago | (#30700958)

My car doesn't come with tires, so hey, you can't compare it to other cars that do!

Direct X and the Xbox (0, Flamebait)

Hadlock (143607) | more than 4 years ago | (#30700684)

I'm not sure if you've noticed, but both windows and the Xbox/360 use DirectX, which represents something like 50-90% of the "gaming market". It's simply easier to write your game/engine for Direct X and be ready to port it to console/PC with little more than a recompile. I don't know if the Xbox supports openGL at all, but I doubt it.

I've used both (3, Informative)

shadowrat (1069614) | more than 4 years ago | (#30700688)

DirectX is made for games. You can use it for other kinds of applications, but if you want to do something that you do in a game, there is likely a function or construct specifically for what you need. It's docs assume you are making a game and when there are multiple ways to do something they often point out the faster way. heck it only works with triangulated mesh data.

Open GL is made for EVERYTHING. Sure, you can use it for games. There's nothing wrong with that, but i'm not John Carmack. That shit is hard for me. If i want to make a game, i'll take the platform that holds my hand.

Plus, like others said, direct x is a whole game api. it's not just graphics. it's input, it's networking, it's sound. the whole platform is very cohesive. I'd rather just keep up with one api, one download, etc than have to follow open gl, open al, etc.

anyway modern game development means licensing an engine. engine developers worry about supporting open gl or direct x.

More like Developers don't CARE. (3, Interesting)

solios (53048) | more than 4 years ago | (#30700730)

The ultimate monetary advantage of using OpenGL for games (imo and ime) is it makes Mac porting a hell of a lot easier.

The ultimate monetary downside of making Mac games is that only a small fraction of the install base can upgrade their video cards - the one constantly-moving PC gaming component.

You can build a useable gaming PC for under $700 - the buy-in for a Mac with an upgradeable video card is presently $2499. With the vast majority of PC gamers using wintendos, Windows/DirectX is the LCD. It's where most (or all) of the money is.

I think it's fantastic that iD uses OpenGL and makes all of their games cross platform. I also think it's unfortunate that iD is the exception to the rule... but I also vote with my wallet, and I use a $600 non-upgradeable (video, anyway) Mac Mini for all of my Mac-oriented needs, and a massively-upgradeable, equally-priced Shuttle PC for everything else. Which includes a long list of games that haven't been released on the Mac - and even if they had been, wouldn't be playable on the GMA-950 video chipset. It's shite for games, fine for Photoshop... and Windows is the reverse for me.

If I need a wintendo to play Orange Box or S.T.A.L.K.E.R., does it really matter if the game uses DirectX or OpenGL?

Not really. :-|

Re:More like Developers don't CARE. (2, Interesting)

sznupi (719324) | more than 4 years ago | (#30701034)

Majority of PCs sold are laptops though, so it makes smaller difference now.

Re:More like Developers don't CARE. (1)

Enderandrew (866215) | more than 4 years ago | (#30701068)

I also thought that iD got bought by Bethesda, and that Bethesda has said iD won't be using OpenGL anymore, and won't be releasing source code anymore.

Oh ok... (1)

Schnoogs (1087081) | more than 4 years ago | (#30700764)

funny how the article doesn't mention that guys like John Carmack have gone on to use DirectX for various things and I don't seem him crying about using it for the XBox 360.

Cross Platform OpenGL is a Myth (-1, Troll)

Anonymous Coward | more than 4 years ago | (#30700986)

The idea that OpenGL is cross-platform is a myth spread by uneducated fools:
- Mac OSX, which is the main system you would do OpenGL based games for, has a piss poor, shitty implementation of OpenGL that is so useless and outdated that you cannot really do much of anyting with. Apple really dropped the fucking ball on this one and I am surprised they dont get called out more for fucking up things so badly. Words cannot describe how horrible OSX OpenGL is, you guys bitch about Windows OpenGL support have no idea the level of hell OSX OpenGL is.
- PS3 has its own OpenGL way of doing things (hey go figure, Sony makes things difficult for its developers... therse a shocking revelation) that you need to code around and utilize its multiple processors to best utilize.
- Linux no one gives a rats ass about making games for. Sorry Linux fanboi's but its the truth.
- OpenGL ES isn't OpenGL

Sorry guys but the reason why OpenGL has gotten the crap kicked out of it recently and lost support has nothing to do with Microsoft, the Xbox or even Nvidia or AMD. It has everything to do with OpenGL being an outdated and non relevent solution towards allowing game developers to be productive and provide the features that are needed for today's applications. Worse yet the biggest problems with OpenGL has to do more with the fact that the "partners" in it spend more time trying to manipulate the spec to best benefit their company and not the 'standard' itself. All this time Microsoft has moved forward and iterated through DirectX and Direct3D with both good and bad results much faster and provided what game developers need in the end for PC and Xbox development.

With regards to the shameless POS FUD blog that these Wildfire guys posted. The point that they clearly miss in the whole arguement is that good game engines made by competent developers have a graphics abstraction layer that allows the developer to use the best possible rendering API for each platform the game will be released on. These guys clearly need to get their facts straight before they post sensational crap that people with experiance are clearly calling them out on.

openGL 2.0 versus 3.0 (1)

Enderandrew (866215) | more than 4 years ago | (#30701022)

I'm not a game programmer, but back when 2.0 first launched, I did hear programmers say it had valid technical merits over DirectX at the time. Yet now all I hear is that the openGL 3.0 standard didn't evolve the way people wanted, and it isn't nearly as good as DirectX anymore. Is there any truth to this?

An Amateur's Perspective - OpenGL vs DirectX (3, Informative)

Philodoxx (867034) | more than 4 years ago | (#30701058)

I've dabbled in 3D programming, I haven't done anything amazing, let alone made my own game, but I will say that D3D is much easier to write working code than OpenGL. With OpenGL I got about as far as a spinning triangle on the screen. With D3D I was able to get to the point where I was rendering a model on the screen and manipulating it with pixel and vertex shaders.

Somebody earlier hit the the nail on the head when they said that because it's easier it's what people will start and subsequently stick with. Not only that, but as a business if it takes your programmers 10 months to write a graphics engine in D3D and 12 months to write one in OpenGL, which one are you going to go for? There aren't many instances where I will go to bat for MS, but DirectX has a better graphics API compared to OpenGL.

I'm on a mac (0)

Anonymous Coward | more than 4 years ago | (#30701060)

And so far OpenGL is winning over DirectX.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...