Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Why You Should Use OpenGL and Not DirectX 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.'"
This discussion has been archived. No new comments can be posted.

Why You Should Use OpenGL and Not DirectX

Comments Filter:
  • by sopssa ( 1498795 ) * <sopssa@email.com> on Friday January 08, 2010 @05:31PM (#30700382) Journal

    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.

  • by Anonymous Coward on Friday January 08, 2010 @05:36PM (#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.

  • by WilyCoder ( 736280 ) on Friday January 08, 2010 @05:38PM (#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.

  • by Anonymous Coward on Friday January 08, 2010 @05:40PM (#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.

  • by Blakey Rat ( 99501 ) on Friday January 08, 2010 @05:43PM (#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.

  • by Anonymous Coward on Friday January 08, 2010 @05:46PM (#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?

  • by pyalot ( 1197273 ) on Friday January 08, 2010 @05:48PM (#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)
  • by CannonballHead ( 842625 ) on Friday January 08, 2010 @05:50PM (#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. :)

  • by shutdown -p now ( 807394 ) on Friday January 08, 2010 @05:50PM (#30700606) Journal

    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."

  • by Hatta ( 162192 ) on Friday January 08, 2010 @05:54PM (#30700658) Journal

    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.

  • by pyalot ( 1197273 ) on Friday January 08, 2010 @05:59PM (#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...
  • by Anonymous Coward on Friday January 08, 2010 @06:00PM (#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.

  • by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Friday January 08, 2010 @06:02PM (#30700754) Journal

    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.

  • by timmarhy ( 659436 ) on Friday January 08, 2010 @06:11PM (#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.

  • by Synchis ( 191050 ) on Friday January 08, 2010 @06:17PM (#30700952) Homepage Journal

    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.

  • by design1066 ( 1081505 ) on Friday January 08, 2010 @06:25PM (#30701062)
    Said the anonymous coward
  • by RightSaidFred99 ( 874576 ) on Friday January 08, 2010 @06:42PM (#30701314)

    What rubbish. The simple fact is that on the highest end hardware DirectX supports more features. OpenGL is well behind now. The original somehow turns Direct3D's deficiencies a decade ago into a reason for modern game developers not to use it. Yeah - that makes sense.

    OpenGL is a better choice for cross-platform development. It's not a better choice for high end game development on Windows. In fact it's a worse choice. Period.

    It's just more false choice syndrome. Use OpenGL where it makes sense, and use DirectX where it makes sense.

  • by pyalot ( 1197273 ) on Friday January 08, 2010 @06:56PM (#30701452)
    Sure, it's all about MONEY, like when your Dictator of choice tells you that 50% of your customer base are left in the cold (as in Windows XP isn't running DX11). You keep chasing that M$ pipedreams of vendor enslavement, you keep screwing your customers every 3-4 turnkey years when M$ decides it's time for some strategic jostling.
  • by Xest ( 935314 ) on Friday January 08, 2010 @06:56PM (#30701454)

    Your former quote is simply because DX10 is Vista/Windows 7 only, the reason he's not using it is not because he has a problem with it, but because DirectX 9 is adequate for his requirements and still allows him to support XP. It's completely wrong to assume that avoiding DX10 means using OpenGL- I'm not sure if that's your insinuation by quoting this, but what it means is that his preferred DirectX version is 9 as it is with most developers, because XP still has a big enough userbase to simply not ignore it by making the leap to DX10 and 11.

    Your latter quote doesn't suggest a necessary preference of OpenGL, but all id's legacy code is GL based. Have a look through the code from Quake to Quake 3 and you'll see that much of the underlying codebase remains the same because it's pointless rewriting it when it's already there. In fact, even more modern games based on id tech have a lot of code that dates all the way back to Quake 1. You're reading something that simply isn't there, nothing about what he said in either quote suggests a preference of OpenGL nowadays.

  • by moderatorrater ( 1095745 ) on Friday January 08, 2010 @06:57PM (#30701464)

    1) completely bogus: OpenGL has an both a good documentation and extremely good literature

    It's nice that you think so, but I've seen the documentation for both, and I much prefer the directx documentation. You are, in fact, helping to prove the GP's point: when Microsoft hears from a developer that their documentation sucks, they'll work on it and improve it. When open source people hear that something sucks, they insult the user and stick their heads back in their asses.

  • by Anonymous Coward on Friday January 08, 2010 @06:57PM (#30701466)

    Because OpenGL is already better, as TFA explains.

    Except that OpenGL is NOT better. It may have support for vendor's random GPU features, but technical features alone do not make for a better product.

    From the Article:

    On Windows, it's a fact that the DirectX graphics drivers are better maintained than the OpenGL graphics drivers.

    Similarly, it's a fact that more gaming graphics programmers know how to use DirectX than OpenGL, so it's cheaper (less training required) to make a game using DirectX than OpenGL.

    Microsoft has worked hard on DirectX 10 and 11, and they're now about as fast as OpenGL, and support almost as many features.

    I prefer DirectX because it has better development support, a better development environment, an integrated complete game package, and provides nearly the same speed and functionality as OpenGL. Yes, I've experimented with SDL and did not like it.

    The Article also gets one thing wrong:

    However, there's one big problem: they don't work on Windows XP!

    This is inccorect. DirectX 10 does work on Windows XP, it is just not officially supported by Microsoft.

  • by Blakey Rat ( 99501 ) on Friday January 08, 2010 @06:58PM (#30701480)

    Well, and beyond that, the fact is that it doesn't work.

    What started up IE development again? Was it 3 years of whining and whining on Slashdot about how Microsoft had a browser monopoly? Or was it another browser stepping up to the plate and actually *competing* for the first time since IE6 came out?

    Microsoft doesn't care about products with no real competition-- Powerpoint has no real competition on Windows, look how shitty it is. It's by far the worst of the Office apps, and Microsoft simply does not care. Now if someone came and blew Powerpoint away, sold the software for less-- you bet your ass Microsoft would start moving again.

  • by mcvos ( 645701 ) on Friday January 08, 2010 @07:01PM (#30701518)

    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.

    You have no idea. My computer still uses TCP/IP!

  • by thetoadwarrior ( 1268702 ) on Friday January 08, 2010 @07:03PM (#30701546) Homepage
    The PC/Mac version will be OpenGL. Of course they will be working with DirectX. They have to for the 360 port.
  • by Victor Liu ( 645343 ) on Friday January 08, 2010 @07:04PM (#30701550) Homepage
    This is not entirely true for a framework like OpenGL. You surely can add your own features or improve performance on your end, but these changes must be incorporated into graphics card drivers by vendors in order to have a wide audience. This is where it helps to have the industry clout that Microsoft does (not that this is necessarily a good thing, but they have the power to push through changes into hardware using their DirectX specs).
  • by n8_f ( 85799 ) on Friday January 08, 2010 @07:07PM (#30701592) Homepage
    Sure, you could have an "open standard," but someone is controlling that, too.

    No, that is why it is an open standard. Once it is out there, anyone can implement it and conform to the standard. Maybe someone maintains it and maybe someone is working on the next version, but no one controls it. To illustrate the difference, what platforms does DirectX run on? Microsoft Windows, Microsoft Xbox, and Microsoft Windows Mobile. Notice the pattern? And what platforms does OpenGL run on? All of those plus dozens or even hundreds more. If you want to port your app to the iPhone or the Palm Pre or an Android phone, who is going to have to do more work, the person with the app programmed in DirectX or the person with the app programmed in OpenGL? That is the advantage of an open standard.
  • by AmiMoJo ( 196126 ) on Friday January 08, 2010 @07:11PM (#30701640) Homepage Journal

    But FYI, PS3 and Wii both include a form of OpenGL

    And that is why this argument is largely irrelevant. Games cost so much to produce now that it's almost mandatory for them to come out on at least PS3, 360 and Windows. Wii tends to get left out due to it's relatively low graphics performance. The point is that any game dev is probably going to have to support both DirectX and OpenGL/PS3 libraries.

    Most game engines do that by abstracting the rendering stuff in such a way that it can use Direct 3D or OpenGL. Sometimes this does result in some dodgy ports where one system's version is considerably slower than it's rival's, and the PS3 having an unusual architecture which requires doing things somewhat differently to get good performance doesn't really help, but it works.

  • Comment removed (Score:4, Insightful)

    by account_deleted ( 4530225 ) on Friday January 08, 2010 @07:20PM (#30701770)
    Comment removed based on user account deletion
  • by dunkelfalke ( 91624 ) on Friday January 08, 2010 @07:28PM (#30701870)

    More disposable pens are sold every day than premium cars in a decade. But guess which is more profitable.

  • The whole point of getting a package is so you don't have to dick around with it.

  • by TheRaven64 ( 641858 ) on Friday January 08, 2010 @07:47PM (#30702118) Journal
    In that case, it works in the same way that OpenGL works on Linux when you don't have any drivers for your GPU.
  • by shutdown -p now ( 807394 ) on Friday January 08, 2010 @07:53PM (#30702182) Journal

    Never the less COM adds a layer of complexity that I don't find when using OpenGL. I'm not sure what the situation is now with DirectX, I understand its better since 9, but still, I have nightmares about COM activation across network domains and permissions issues and the list really went on and on

    I repeat: DirectX is not really COM. Yes, MSDN refers to it as COM for the sake of simplicity - because it's similar enough on the surface, and because, by some definitions, DX objects are COM objects. However:

    There are no COM coclasses there, no marshaling, no proxies, nothing. All that it has from COM is that it uses a bunch of classes which has strictly defined vtable layout and method calling conventions, same as specified in COM (or, if you prefer, defined by a bunch of C struct declarations with function pointers); it uses IUnknown for the first three vtable slots, with its refcounting semantics, and rules for who should AddRef and who should Release when passing pointers around; and it uses the standard COM convention of returning HRESULT to report errors. That is all. There are, by definition, no activation or networking or permission issues, because there is no networking, no activation, and no permission checks.

    It's not any more COM than Mozilla's XPCOM is COM.

  • by gmueckl ( 950314 ) on Friday January 08, 2010 @08:01PM (#30702290)

    As part of my work, I do some very advanced things in OpenGL and I have yet to find a hardware feature that is available in DirectX, but not OpenGL. Can you please point me to a particular feature that is missing in OpenGL?

  • by StoatBringer ( 552938 ) on Friday January 08, 2010 @08:13PM (#30702450)
    Don't you mean "Too bad ATI card royally suck ass at implementing OpenGL"?
  • by Prune ( 557140 ) on Friday January 08, 2010 @08:15PM (#30702490)
    And here's another application of your argument pattern: Basic is much easier to write working code than C++.
  • by VGPowerlord ( 621254 ) on Friday January 08, 2010 @08:23PM (#30702580)

    OpenGL is clearly behind DirectX ...

    You're contradicting TFA without any evidence. TFA provided quite a lot of evidence to support its position such as:

    Actually, you did his work for him. Emphasis added:

    It's common knowledge that OpenGL... has first access to new GPU features via vendor extensions.

    Vendor extensions are not part of the standard, which makes this statement from TFA misleading at best, outright lying at worst. These extensions usually don't make it into the OpenGL standard until years after DirectX has added them, as was pointed out by another poster elsewhere in this thread.

  • by v(*_*)vvvv ( 233078 ) on Friday January 08, 2010 @08:49PM (#30702800)

    Buck passing is done when said. Everything else is easier said than done.

    Being Microsoft helps. Many of Microsoft's achievements have been by just being a mammoth Goliath monopoly. But that is them just doing their job. If you can't innovate, then gather an army and go to war. Only lawyers can tell you what you can and can't do.

    Innovation at Microsoft is a plus, but not a requirement. The substance of their products is only part of the very large picture.

  • by dgatwood ( 11270 ) on Friday January 08, 2010 @09:01PM (#30702928) Homepage Journal

    Yes, I've seen the man pages. I've personally passed on several dozen bug reports in the OpenGL and GLUT man pages. Having reference documentation is well and good, but reference docs don't paint a complete picture by themselves. That's like trying to learn the English language by reading a dictionary.

  • by RightSaidFred99 ( 874576 ) on Friday January 08, 2010 @09:22PM (#30703152)

    Advanced things like this [youtube.com], right? I'm sure that would be cake in OpenGL.

    But let's not be disingenuous. At a basic level you can access the hardware and do whatever the hell you want. By that reasoning, I guess Java is just a good a language to write a Linux device driver in because theoretically you could use JNI and some limited Java VM in-module to handle the work, right?

    Direct3D, as an API, supports more hardware features at the API level than OpenGL does without reverting to basically bypassing OpenGL and going straight to the hardware.

  • Re:Moving and all (Score:3, Insightful)

    by that this is not und ( 1026860 ) on Friday January 08, 2010 @09:46PM (#30703360)

    It would suffice to just kill off all the middle managers and their Powerpoint presentations.

    Save a lot of money, too.

  • by Bri3D ( 584578 ) on Friday January 08, 2010 @09:50PM (#30703404) Journal

    DirectX is a forward-looking standard - Microsoft sits down (or stands up and yells) with developers and graphics manufacturers, and hammers out a spec which a "DirectX X.XX" card must support. Then vendors go and make a card and drivers that support those features. In this way every DirectX 10 or DirectX 11 card can be assumed to support the same things using the same APIs, and if they don't, it's the vendor's fault and they have recourse.

    OpenGL, at this point, looks back - Graphics card manufacturers make a graphics card and then shoehorn its features into OpenGL. This way every single card has different supported OpenGL features implemented in different ways.

    So sure, "OpenGL" gets some features first via extensions (it's debatable whether or not it's even OpenGL at that point, since the OpenGL standard doesn't even really play into it) - good luck using them, though.

    The choice for game developers is pretty easy: support a lot of people (Windows and Xbox 360) using one consistent API, or support a few more people (Linux mostly, with some additional work required for PS3 or Wii) at a huge cost (debugging across vendors, platforms, and consoles).

  • Please tell me... (Score:5, Insightful)

    by Savage-Rabbit ( 308260 ) on Friday January 08, 2010 @10:57PM (#30703886)

    Please tell me how many companies care about the niche market of 0.1% of Linux users? How many Linux games do you see? And don't even get me started how much bitching there would be if the "bad" companies wouldn't open source their games when releasing Linux versions.

    It's not really about the 1% of desktop users that use Linux. What you are failing to note is that there is an awful lot of software written for mobile systems (read: mobile phones and iPod like devices that double as gaming platforms) and many of those systems run Unix like OS'es such as iPhone/iPod OS and Linux. Writing games for mobile devices is a growing market and portability is a key component if you want to make any kind of money since the world of Mobile operating systems isn't quite the Microsoft dominated monoculture that the world of Desktop OS'es is. If Android gains any kind of a foothold and iPhone OS keeps gaining market share (and there is no reason to believe they won't) I'd say OpenGL has a bright future, if only thanks to people developing for mobile devices. Also keep in mind that the most popular mobile phone OS is Symbian. Mind you I don't think Symbian owes much to Unix but it isn't made by Microsoft either. Symbian has an OpenGL port that is also the official Symbian 3D graphics API (according to Wikipedia). Now I'm sure people can bitch and moan about how mobile games aren't really as sophisticated as as PC games and I suppose that's true. Nevertheless it still cracks me up every time some bozo puts in a book review on a game development book on Amazon and goes on endlessly about how Direct3D is a "game development industry standard" and how "OpenGL is a dying technology". OpenGL is alive and well and likely to stay that way. The (mobile software developing) world is not Microsoft.

  • Re:Moving and all (Score:3, Insightful)

    by sillybilly ( 668960 ) on Friday January 08, 2010 @11:25PM (#30704100)
    Presentations are the most important "value" created in today's business world, as far as employment dollars spent go. Lower on the scale there are lots of workers, but their hourly wage is very low, and higher up there is not enough people, even if they earn a lot. The bulk of employment money goes to middle managers tweaking powerpoint slides to present at meetings that take up the bulk of the time. The purpose of presentattions is to dumb down and simplify concepts so they can be effectively conveyed to wide audiences who otherwise don't have a clue. Being an expert, and knowing the very fine details, as described in scientific papers that present the full set of actual measurement data is no longer important, as far as job success goes, but one has to be very good at giving succinct and summarizing presentations. No longer do you find ad hoc vivid conversations one on one between experts addicted to a topic caught up discussing the details for hours with a twinkle in their eyes, but you have a lot of time management software scheduled and accepted mandatory summons to meetings where people neither want to be there, nor are they interested, but it brings them a paycheck, so they have to do it. Self interest is amazing.
  • by siloko ( 1133863 ) on Saturday January 09, 2010 @12:22AM (#30704484)

    The "average users" (aka non-programmers) have the tendency to think OSS devs owe them something, and contribute very little.

    You what? The average user wants to do something on his computer and your chastising them for not breaking out the IDE and improving the code? I think you just proved the GP's point . . . it's all very well having a technically competent product with below average user experience but you can't then moan about lack of general acceptance. The simple fact is if you want blanket coverage you have to appeal to the lowest common denominator and imploring your users to improve the product for you is just not going to wash in the majority of cases.

  • by Anonymous Coward on Saturday January 09, 2010 @02:15AM (#30705138)

    Presuming that the windows / xbox360 market will be the largest for longer than a decade from now is a dubious guess at best. With their business methods, it would not be surprising to see Windows fall drastically in market share in the near future, and at that point nobody will want to write software using this DirectX crap when they can write it in OpenGL and support the various OS's which span the majority of the market. That's all it takes, and Microsoft is slipping with every passing month. Windows 7 isn't good enough when you're still using anticompetitive actions to bully out competitors in any given market, until Linux is as viable as windows as a desktop platform for the "average user", Microsoft will enjoy the antitrust they've built and sustained in direct violation of multinational law. When that threshold is crossed, however, Windows is no longer the only thing most people will see as a viable thing to run on their PC, and being fucked time and time again by huge costs and inferior/buggy/exploitable microsoft-clone-of-X-software being forced upon you through packaging and windows updates, people won't give a second thought to moving, and the software companies will follow the consumers.

  • by Toksyuryel ( 1641337 ) on Saturday January 09, 2010 @02:38AM (#30705246)
    You're missing the point which was that developers of open source don't generally CARE if their project sees wide use and acceptance- they are making it for themselves, and sharing it in case it happens to be useful for someone else too. The developers that DO care about wide use and acceptance, typically WILL try to design toward such a goal (Ubuntu being the go-to example). Most do not however, and it's very important to understand this.
  • by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Saturday January 09, 2010 @03:10AM (#30705394) Journal

    technical features alone do not make for a better product.

    That's true, and I'd suggest you read an article (by the same developer) about why you should support Mac, and even Linux. Lugaru arguably wouldn't be the success it is without its Linux fanbase.

    So the only real answer there is to either use GL, or wrap it all in enough abstraction that you can actually port it. TFA makes that point, too -- that in any decent engine, you're already abstracting it to the point where it really doesn't matter what the low-level API looks like, any more than I care what ATA calls look like -- I hardly care how my filesystem works.

    And if that's the case, technical superiority wins -- if it runs at a higher framerate on GL, without being significantly more difficult, that's a win.

    This is inccorect. DirectX 10 does work on Windows XP, it is just not officially supported by Microsoft.

    I find it interesting you'd make this argument, after you were just talking about how great the community, development environment, etc is.

    However, as I understand it, it's useless for a game -- in order to actually get dx10 in your game, you'd have to do some questionable registry hacks and such, and it's quite possibly illegal. So you're not going to ship a game that supports XP, nor will you put time, effort, or community resources into supporting XP.

    According to Zephiris, there are actually significant technical problems, also.

    Compare that to OpenGL, which will Just Work on XP, with all modern features, and any future ones a manufacturer cares to support.

  • by Anonymous Coward on Saturday January 09, 2010 @03:35AM (#30705506)

    whoooosh!
    talk about missing the point!!

  • by Gwala ( 309968 ) <adam@NOspam.gwala.net> on Saturday January 09, 2010 @03:57AM (#30705596) Homepage

    Misrepresenting the truth perhaps. Sure you have *vendor specific* extensions all over the place - but that means you have feature X implemented on card Y but not Z; and the same feature gets implemented twice by different vendors in different ways with different bugs.

    Frankly OpenGL is a mess - and the fact they scrapped the planned overhaul to make it developer competitive again means its pretty much dead in my opinion as a reasonable competitor.

  • Re:OpenX (Score:2, Insightful)

    by mangobrain ( 877223 ) on Saturday January 09, 2010 @05:47AM (#30706022) Homepage

    I'm sorry, but... Qt? Yuck. Give me something with a plain C API and optional C++ wrapper, not a native C++ API. Give me something that doesn't have its own "make" variant to make building "easier". Give me something that doesn't rely on macros and a custom code pre-processor to implement signals & slots, when it's been fairly conclusively proven that these features can be implemented using plain old C/C++.

    Please, if you're going to do something like this, don't take a reasonably well-written plain-old-C API like OpenGL and sully it by association with something which is, in comparison, broken by design.

    For something which underpins so many open-source applications, and touts cross-platform compatibility as its major feature, Qt seems to make so many departures from library-writing best practices that I often wonder why it has been adopted as widely as it has. Thankfully I am currently succeeding in keeping Qt (and KDE) off my Linux installs - I run one closed-source Qt application for work purposes, and ironically, running the Windows version in WINE works better and provides more features than running the Linux-native version.

On the eighth day, God created FORTRAN.

Working...