What is Happening with OpenGL?
Trapped In Windows Hell asks: "I was just at the local game store looking for a new game, and I noticed the absolute lack of ANYTHING other than DirectX games. Where has OpenGL gone, and what does this mean for games on GNU/Linux? If DirectX is so hard to program in, so clunky to use, and limits the game to being sold on only one OS, WHY do so many programmers use it? It seems logical (to me, at least) that programming as portably as possible, as simply as possible, and using standards where possible, leaves a lot more sales options open for the future... and DirectX seems to close all options *but one*." OpenGL use in Windows gaming has decreased dramatically in favor of the use of DirectX which is improving with each release. Will OpenGL continue to mature on the Windows platform (which arguably is the platform that drives most of the mainstream demand for graphics) or will it continue to stagnate as game and driver developers concentrate on the offerings from Microsoft?
Everything in OpenGL is different for different cards. If you code in DirectX, at least it will work on all cards, even if only on Windows (so far). If something doesn't work right with a card in directx, it's the card driver's problem. It's universal in the Windows world.
OpenGL is freaking amazing. I love it. Unfortunately, card makers want to write OpenGL extentions specifically for thier cards so you have to have aset of code to do the same thing for each card.
When will people come together to agree on non-MS-specific standards? Probably never. Maybe we should support
-EvilMonkeyNinja
Mild Mannered Host by Day
Wild Hammered Programmer by Night
If DirectX is so hard to program in, so clunky to use, and limits the game to being sold on only one OS, WHY do so many programmers use it?
By the sheer amount of DX games out there, isn't it obvious that the game industry doesn't find DX clunky and hard to program in. And remember DX offers MORE than just graphics. It also does sound, input and networking.
As we've seen this year, game companies don't care whether DX limits them to windows or not because:
1- Almost everyone uses windows to play games on.
2- If they ever did want it ported to other platforms, there are companies (you know who they are) that will do the porting for you (yes, that includes porting DX games).
Kudos to Cliff for not just taking the anti-MS-at-all-costs FUD from the questioner as gospel. DirectX improves a LOT with each release. DX3, or even 5, was a nightmare, but DX8 is pretty easy to use.
The more significant reason is driver quality (from the hardware company), and the 3D-graphic card industry is so cutt-throat that even a momentary falter into, admittedly, a non-mainstream-for-games OS like Linux can be fatal. Of course, they COULD release enough specs to allow OS drivers... but there are trade-secret issues there (with actual hardware, that don't apply, in my mind, to software).
The Half-Life engine can use OpenGL, as can the Quake ones. Okay, they're both fairly old, but with new versions of both under development OpenGL is far from dead...
When you only have 1 OS that you plan to sell your game on, why do you need something that is cross-platform? When 92% of home users run Windows, and many people who have linux also have a windows install for playing games, why would you put your extrememly limited money and time and effort into supporting something that's not needed? It's just like OS/2's problem. If they didn't support Windows applications, nobody would use their OS (even though it kicked ass), but if they did support it, nobody would natively develop for their OS because they didn't have to.
And from what I've heard, DirectX is not clunky nor is it hard to program in.
I think that once linux starts getting a much larger hold on the desktop, then we will start to see games being developed for more than one platform.
That just made me think, is there such a thing as an OpenGL for gaming consoles? Imagine how much nicer it would be if you could program your game once for one API, and run it on PS2, N64, GC, etc, etc. That would be really kickass!
If God gave us curiosity
He is probably one of the only guys that could answer this question completely, honestly, and without any hidden agenda.
To be competitive with other upcoming games, a game must be written specifically for one platform anyway. Every decent game that's come out has taken a month or two to port to another platform.
A game's life is very short. Keeping options open for the future isn't important because there isn't a future to speak of. The other platforms just aren't large enough to do the extra work necessary. Cross-platform programming isn't free. The price is time, and when you're trying to get a game out the door, time isn't on your side.
-linux... they can't *give* that shit away.
did sgi merge with amd or something? no? then why is the amd logo on this story?
With the advent of DirectX 8 openGL has a worthy competitor.
So why then, has is it so hard to use?(so I hear)
OpenGL, probably the easiest api I've used. Nice and clean, simple, and CROSS PLATFORM. Couple with SDL and openAL you have something that beats the directX technology into a cocked hat.
But why don't games use it?
They do not *CARE* about cross platform, or whatever us open source geeks want, so no linux games.
Sure cross platform is one of my goals, whenever I write something. But when your audience is either windows or console its much easier to have a engine porting project, than make it opengl.
We must also take note, that open GL wasn't designed for games, directx was. Our current obscession with opengl is probably to do with carmack and quake.
And to be honest, windows (graphics)drivers for opengl have been pants upto a year ago, where as directxs been a gaming api since 95ish
Now can we shut up about opengl and directx please ?
thx gg pld bye
How well is OpenGL supported by the video card drivers? If it is slower or buggier then DirectX then people won't be so thrilled to use it. Remember non windows boxes are less then 10% of the market (Apple had 5% at the start of the year, I doubt Apple+Apple's growth+Linux+BSDs can top 10% -- if the PS2 or GameCube use OpenGL my 10% guess is wrong though).
Plus DirectX handles input, and some non-graphical output. And I think sound. As far as I know OpenGL only does drawing.
OpenGL is what Apple recommends using for 3D game on their platform (at least under OS X), but they have their own APIs for sound and input, and hopefully force feedback (and one would hope that to the extent that DirectX "got it right" Apple copied it). So OpenGL isn't dead, unfonturely it give MS an even bigger reason to fight it.
Nowadays it seems that more and more new games are scheduled for release on the mac and pc simultaneously (or more often: the mac version released shorty after the pc version) Since most pc games are using DirectX, it's apparently not too hard to port them to OpenGL.
Come to think of it, the companies that are porting games to Mac OS are probably the ones that would be best at making linux ports. By porting the games to SDL they suddenly have a port that runs on two platforms.
Somewhere in the heavens... they are waiting.
1. DirectX is changing. It's updating, moving with the times, and incorporating new developments in graphics card technology in a standard way, there's features some cards don't support, but they're parts of directx, and they'll be on future hardware. On OpenGL, if you use the nvidia extensions, they're not going to be there on ati cards, even a few generations down the track when the same features are standard across platforms.
2. Since dx5, it's been a good environment. It took MS a while to get it right, but they're constantly updating it, which yes, means there's a continual learning curve, but that's what makes game programming the fun it is! OpenGL is controlled by comp scientists, DX by money, which means DX will always be quicker off the line with the features developers and customers want.
I know that MS makes it, and as a whole, MS is bad, but the company's tactics don't make the technology suck, and joe sixpack who wants to just go play unreal doesn't care if MS bundles ie to make his life easier or to kill netscape, cause it makes his life easier. There's one constant in life these days- people as a group, are cronically and terminally lazy. Most people view money less important than effort, and even their time less important than effort... Somebody would rather take 2 hours to do a 15 minute job if it makes it seem like less work to them.
</rant>
Send lawyers, guns, and money!
I believe DirectDraw is supported in just about any video card that's there. Unfortunately, D3D and OpenGL both require hardware accel in games (I haven't seen any major game that has software D3D or OpenGL).
I believe on other reason that DirectX triumphs is because it support those other stuff, such as DirectSound, DirectPlay. Developer will have to use those things even if they choose OpenGL as the gfx API.
Personally, I have a GeForce2 MX. It runs OpenGL stuff a hell lot faster than D3D.
I was under the impression that OpenGL has been on the way out since Unreal came out and it was obvious that they didn't care at all about their OpenGL implementation. When a game that was supposed to be technology leader doesn't care about OpenGL you've got problems. Besides id Software, nobody cares about portability or using any API besides DirectX. The reason OpenGL used to be so important was because DirectX was still in its infancy, and because many video cards ran OpenGL better and faster.
$45 per U Colocation Special
Why do they only write for one OS? Because games only SELL for one OS. Yes, those of us who use linux use games from Loki... but most retail stores don't carry them anymore, because no one buys them. In the past few months I've visited 8 or 10 software stores, and only one had anything on the shelf from them. Most had very little for Macs.
If you want developers to use protocols which are easy to port, give them a reason: start buying games that run on your OS of choice. Even if you don't especially like the game, those dollars give a much more important message than a similar number of posts to message groups.
-Carik
OpenGL 1.3 closes the gap quite a bit, but DirectX 8 still has a higher featureset and will gain more features sooner than OpenGL will.
Game programmers don't give a rat's ass about portability. All it has to do is run on their target platform at an acceptable speed.You're not going to find many altruistic coders or designers working for companies that put boxed games on the shelves at Egghead or Best Buy (sidenote, that last is most definitely an oxymoron. But I digress.)...game programmers who work for big software houses are in it for the bucks, and the only OS/platform that they see as paying the bills is WinXX. So they write for WinXX, and right now, that means primarily using DX APIs. If there were a bigger demand (read: potential revenue stream) for other platforms and OSs, OpenGL would probably make more sense to them...and I'm willing to bet my lunch that the games that are still OpenGL-capable have also been ported to the Mac platform (not that I've looked, since I don't own a Mac, ergo don't need to examine the offerings for it).
In short...DX makes more economic sense, simplicity of coding notwithstanding.
Just my two cents' worth...save up the change for a root beer float or something.
All the world's an analog stage, and digital circuits play only bit parts.
I thing that this must be the reason.
You can play Giants even if you have a Geforce3 or a Riva 128.
Also as Cliff mentioned, regular releases of DirectX make you fell that this thing is evolutioning and that you always have a "better" version.
The question is: Will Quake IV use DirectX or OpenGL?
Get my e-mail after a captcha test in: http://tinymailt
...But this is the first (well second now) time I've posted since the move to 2.x.... And I was suprised to see my comment was no 2323220980...whatever, something long...
Have we lost the FP dickheads now you can't see which is first? Will that cause the space-time continuum to collapse in on itself?
I'm gonna cop it for posting offtopic and fair enuff, but I just had to say it, and at least I've got the balls not to post this anonymously.
Send lawyers, guns, and money!
In addition, code reuse is not necessarily a priority in game coding. Your game has to the meanest fastest around. If you have to sacrifice code reuse for that, it doesn't matter.
He went into a software store that was lacking copies of Tribes 2?! Gee, all this time I was lead to believe that Tribes 2 wasn't selling all that great...
The upcoming Detonator 4's (supposed to be released last week, now "very soon") will support OpenGL 1.3. A good sign, as they are the major player right now. This includes:
Cube map texturing -- for higher quality environment mapping and lighting support
Multisampling -- for order-independent anti-aliased rendering of points, lines and polygons
New texture modes that provide more powerful ways of applying textures to rendered objects:
Texture Add Environment mode
Texture Combine Environment mode
Texture Dot3 Environment mode
Texture Border Filtering mode
Compressed texture framework -- to allow higher quality textures in less memory regardless of file format
With XBox drawing near, and XBox's adoption of Direct** APIs - we can seriously expect to see this trend accelerate.
MS is providing a bridge, via XBox for PC games programmers to get their apps on a console. If the rumours that consoles are the sole future of gaming are correct - then we can expect to see our PC Game developers very happy to have this new area to sell to.
But, considering this, what does this say *REALLY* about M$ and its XBox? Arent they in fact cutting off PeeCee sellers from a market - the would-be-desktop-computer gamers market? Isnt M$ REALLY competing with its own customers in this case? With M$ focusing on realeasing a box themseleves - wont that mean decreased sales for their own customers?
I see M$ XBox as being its most obviously brazen move yet. I understand M$ has been into hardware for sometime, but brand-ed mice and keyboards arent at this level.
What does this have to with directX? It means that once again, M$ is using their weight in one market (pc gaming os) to move into another (console manufacture). I really wonder what Compaq, IBM and Micron think about this, wont this mean a drop in their sales of Electronics-boutique level machines?
Imagine for a moment, with Sony talking about making PS2 a Linux Computer (with HD, Keyboard, Mouse etc) wont this invite M$ to do the same? Will the XBox become a "Microsoft Desktop Computer"?
With PC developers looking at the XBox as an opportunity to expand their marketplace - you can bet they are not going to be too eager to use OpenGL and cut themselves off from the XBox-platform.
Just an observation here. I was in South Africa last year, working with some companies in the simulation/training market. Most of them are developing their apps for DirectX--OpenGL was not used much at all. When I asked why, I was told that the reason is that DirectX apps will run reliably on cheap Windows boxes, which is what they're using; OpenGL is seen as something running on high-end UNIX machines. I wonder how widespread this viewpoint is?
Some companies are doing things for linux gamers. Bioware is releasing Neverwinter Nights, which could arguably be the best rpg ever released, is going to be released for linux as well as windows, and most likely it will use opengl(is there another graphics api that does 3d in linux?). Nvidia is giving full OpenGL support in their chipsets. And let's not forget the guys at ID love opengl as well. Even if their numbers are few, there are people who still want to keep OpenGL alive, and they are pretty big names is the gaming industry.
Got Freedom?
Thinking?
OpenGL only offers graphics, dx offers: graphics, joystick, sound, forcefeedback, mousecapturing.
There are libraries giving you all these features using GL graphics, but they are not made full time and/or they are made by hobby programmers. The keyword here is time. MS have employed programmers to create, maintain DX. This means better time, and resources making a better product overall. Not just the graphics part. The graphics part of DX is not better than OpenGL, it's just everything around it.
Look a monkey!
Have you tried programming in OpenGL? It's really hard. I have a book showing a 5 page example of opengl code. It's equivalent in Direct3D - 10 lines.
by all measurements and opinions from developers directx has better features, more compatability, and etc.
opengl advancement has stalled for years, and it looks like it'll never catch up again.
the new set of detonator drivers for nvidia cards will support new opengl 1.3, below info on new features blatantly stolen from a website: Cube map texturing -- for higher quality environment mapping and lighting support Multisampling -- for order-independent anti-aliased rendering of points, lines and polygons New texture modes that provide more powerful ways of applying textures to rendered objects: Texture Add Environment mode Texture Combine Environment mode Texture Dot3 Environment mode Texture Border Filtering mode Compressed texture framework -- to allow higher quality textures in less memory regardless of file format sounds good to me, now if only someone would leak those yummy drivers
The modern games developer will use DirectX over OpenGL every time. Incidentally, the incredibly poor support for DirectX in Linux is one of the reasons it is failing in the games market.
why do people that use linux need to play games? they should spend their time writing crappy free software and kernel drivers.
And what if this is the result of a gap? Well, two-three years ago we would see people running mixed environments and Linux was barely desktop ready. Today there are already thousands of users who use exclusively and solely Linux, BSD and even other *NIX flavours as purely desktop systems. Interesting to note that today the only reason many acquaintances give as a reason to keep Windows, is the number of games that still lives in this OS. But this is not a reason to say "OpenGL suxx". The fact is that many game producers have a vary long DOS/Windows tradition and it is hard and risky to change lines. Let's note Loki's problems and the state of world economy for this...
However, in *NIX, a small game boom is happening. You may look at freshmeat and note that there is a steadly rising of several computer games during this Summer. Truly they cannot be compared with Windows games but, still, they are a markup of changing times. Windows games also started with some quite silly puzzles, card games and small shot'em-ups. Meanwhile, some of these games are made under OpenGl and don't look quite bad. And while some have a Windows port, the core of development is clearly made under the *NIX base.
It seems to me that this is due to the fact that the critical segment of developers, with "mixed interests", has already changed lines and, now,we are seeing Linux/*NIX detaching from its M$ roots. Meanwhile, under Windows, there is a concentration of "purists" who barely need of any OpenGLs or Mesas for work. So, it seems that we are only seeing the appearence of a developer gap.
what is with the AMD logo being on this post?
I thought everyone was aware that MS did make their OpenGL implementation slower and slower with each release and thus forcing programmers to use DirectX!
I really hope somethings come out of the court or else we may be doomed.. !
The question should not be "why aren't game developers using it?" but "why aren't the video card makers supporting it?"
And that, dear friends, is where market power comes into play, and the one with the power in this market is Microsoft.
+1 Insightful, -1 Troll. What can I say, I'm an Insightful Troll.
MS wants to replace a consortium-controlled graphices API with an API that it can control alone. Read details at
Microsoft and 3D Graphics: A Case Study in Suppressing Innovation and Competition
[b]>> Trapped In Windows Hell asks:[/b] Sounds like someone may be a [i]little[/i] bias. [b]>> Where has OpenGL gone, and what does this mean for games on GNU/Linux? [/b] OpenGL is ancient technology and has changed little in the past five years. Its faulty and many the non-3dfx cards (any good one now) suffer through performance and quality. [b]>> If DirectX is so hard to program in, so clunky to use[/b] The folks who wrote this obviously have not programmed for DirectX in the past three years. I'm surprised slashdot even posted this since its so obviously mistaken. Its not even a matter of opinion anymore; DirectX is simple, powerful and operates graphics, sound and multi-client functions. [b]>> and limits the game to being sold on only one OS, WHY do so many programmers use it?[/b] Once again I must state the obvious. There is only one OS for games, Windows. Linux is complete junk for game, it always has and always will be. Any game that runs on Linux is for novelty use only, there is just no hardware or code support for Linux. Can you get a game to work on Linux? Occasionally yes, but often in sub-par performance and your lucky to have sound. I can get better results playing a game on my cell phone. [b]>> It seems logical (to me, at least) that programming as portably as possible[/b] I guess this is why Java has been dying a slow agonizing death huh? You make a game on the platform that has the best market, simple. You do not have the time or money to make it cross platform unless its very much worth your time. It just takes to long to port it and optomize the code. In the case of Jave, the performace is just aweful. This is why apple, commadore 64, and amiga kicked the bucket. They relied on companies to create programs for them when they no longer had a niche or the mass market on their side. [b]>> leaves a lot more sales options open for the future...[/b] I think its pretty safe to say that 99% of a games sales occur in the first 6 months (with the rare exceptions such as Myst). Most games are no longer stocked in computer stores after 6 months. I belive a previous article on slashdot eloquenlty stated that royalties for game programs are negligable if they happen at all. why then would they think of anything but the first 6 months of the games life?
Epic didn't care about their Direct3D implementation either. I recall only two rendering modes for Unreal when it was originally released: Glide and software.
My IP is 192.168.1.100 Hack it if you want.
What are the advantages to using OpenGL? If you're trying to capture about 10% of the remaining market for your product, and having to sacrifice the quality of the product to do it, you're going to lose a proportionally larger customer base from the Windows users than from the Unix/Linux/OSX users.
Porting to other OSes is going to cost time and money. Sure, having OpenGL as your 3D API makes that aspect easy, but what about sound, input devices and such?
I haven't seen a single game that uses only the standard OpenGL API that could match a DirectX game. Who drives the OpenGL spec? Who drives the DirectX spec?
OpenGL is a nice, clean API (except for so-called "extensions" by video card manufacturers). DirectX is hairy to work with (at least when I last looked at it... DX5) but, it _works_ for games. If I'm writing a serious application (visual modeling, CAD/CAE, etc), then I'd choose OpenGL. If I'm writing the newest FPS, then I'm going with DirectX.
Give them an inch and they'll take a foot. Much more than that, you won't have a leg to stand on.
Most games are made without any real desire to be portable. Most games are released on Windows. There's a much better chance that DirectX is installed on a Windows box than OpenGL.
Chris Kuivenhoven is a thief, beware
The AMD logo is the default logo for newly submitted stories because it's the first on the list. If the first on the list were a blank space, it'd be easier to verify the form data: "Go back and pick something!"
Will I retire or break 10K?
Everybody goes for the big brass ring but they don't go for the gold nuggets. Nobody wants to limit their sales. Its the "accounttant" in their soul.
That's what M$ counts on. So far, M$ is right, on the x86.
They way out of that is to out do the x86.
Write a killer game for the Itanium (imagine some REAL horsepower to do some stunning, jaw-dropping avatar AI and some absolutely awesome, fearsome, mind-boggling rendering.)
Give the monsters and fellow flesh meat on a networked game ears that work and mouths that speak in response to the player. Is the avatar next to you real or an AI? That's what should be the level of play.
The level of architectural detail should be on the scale of Myst but real-time.
There's no M$ on Itanium or G4s, G5s and G6s.
And the DOJ should nail M$ to the x86 and we'll all move on while M$ stays there, by law, until the problem goes away like DRI did on the x80 platform.)
That's actually the simplest solution to the Anti-trust situation. ANY M$ product appears on ANY other platform and ALL M$ officers stay in jail until they're gone from the shelves.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
We see that Ms is going to bundle their games with Xbox. Is this an attempt to screw 3rd party developers?
People dis Apple for not putting much software on their boxes and not offering much hardware. These people don't understand that this is to help third party vendors. If you fear that your product will be cloned & bundled by MS, like they are doing with the firewall(or enter your favorite dead software catagory), you will be reluctant to enter the market.
photosMy Photostream
Don't forget that OpenGL isn't just for gaming. What about 3d packages such as Softimage and Max? It's also available for most major operating systems. I bet you wouldn't see Maya on SGI, Windows, Mac and Linux if each platform had a different graphics language. Last time I used 3D studio max with Direct 3d it wasn't a pleasent experience. Flakey inconsistent display. Much more useable with OpenGL.
Hot game demos are pulled off the Net and then the game itself is ordered on-line direct from the publisher.
The local store is for shovel-ware. That's like saying that the 99cent store doesn't seem to stock any Baccarat crystal.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
If you don't buy DX games, they will go away.
Steal them instead.
I am not into graphics programming in any way, shape, or form, but the Khronos Group recently released the specs for OpenML 1.0. Khronos hopes to "promote the creation and deployment of rich media through the creation of open standard APIs to enable the authoring and playback of dynamic media on a wide variety of platforms & devices." It has support from ATI, nVidia, SGI, Intel, Sun, and others. Implemenations of OpenML 1.0 are expected to appear this year on a variety of systems (Solaris, Windows, Linux, IRIX, etc.).
--Greg
I thought it was cool, and I don't really care if you do or not. So there.
More and more gaming companies are turning to DirectX for profitability reasons. Believe it or not, Microsoft really does want it to be easy to develop good games with DirectX, and that is why the API has become easier to use with each revision. Microsoft sees this as a way to sell more copies of their operating systems.
Game developers look at where the largest potential customer base is. Far and away, the glut of PC Gamers use some Windows variant. By developing with the DirectX API, they get access to this huge customer base. Sure, they also look at the potential customers that use Mac, Linux, and other OS types, but the potential sales here is just a fraction of what the Windows sales will be.
Another point to consider is that the DirectX API is developed by the makers of the OS. Microsoft can develop hooks within the operating system code to allow the DirectX API to use portions of the system that will never be available to the OpenGL developers. Much the same thing happened with Microsoft Office and Internet Explorer. Comptetitors could not keep up with the application software because the operating system made methods available to the 1st party apps that wasn't available to the 3rd party apps. For this reason, I believe that the DirectX APIs will always have a performance advantage over the OpenGL libraries on a windows machine. At least until the reparation proceedings by the DOJ are complete. But that is another issue.
Finally, there is the X-Box factor. Microsoft has promised that games developed with the DirectX API will be nearly directly portable to this gaming system. The console and PC gaming markets do not compete as directly as some believe. Although the sales of a game on a system may affect the sales of the PC version, and vice-versa, the overlap of these huge markets is small enough to merit developing for both. The console market is huge, and by allowing developers access to both the console and PC gaming markets, Microsoft is providing a huge customer base for new games.
Game developers are always going to choose the technology that will net them the most dollars. So it isn't surprising that most games on the market are developed with an API that allows developers to target the most popular (by customer base) operating environment.
Last I checked, everyone says Half-Life runs BETTER in OpenGL. And from what I can tell, they're right. Sure HL is sort of three years old, but they just released another high selling extension Blue Shift, and CS shows no signs of slowing down. I guess you could compare Half Life to U-238 and q3a to something like TC-100.
I Browse at +4 Flamebait
Open Source Sysadmin
Why is this article indexed under "AMD"?
Scott.
Bioware's next game, Neverwinter Nights, will use OpenGL for cross platform compatability. (They will ship for Windoze, Mac, Linux, and BeOS, and all on the same CD to boot!) If the game is a success (and averyone expects it to be), then maybe this might turn a few heads in the gaming industry, and a more serious look at cross-platform gaming (and thus using OpenGL) might happen.....
You say that sheer volume proves it's easy. ASM on x86 isn't exactly the nicest thing. Or, do you _like_ being limited to 8 general purpose registers, and a crappy FPU stack?
If we go by sheer volume, x86 must be a freaking dream to write software for, and it must be some heavenly architecture!
There are lots of posts stating that DX covers more aspects of gaming, where OpenGL only does graphics. This is very true. But it wouldn't be difficult for a programer to adobt the other required skills to program in 'open source gaming'.
I think one of the big things is that hardware can handle DX's bulkier rendering system with satisfing output. There isn't a NEED for OpenGL because the hardware is so much better than it was when OpenGL and DX were battling for "programmer's choice". When my room mate shows me a first person game at 1600x1200 and over 100 frames a second rendered by DirectX, I see no need for OpenGL anymore. Of course, that takes a $450 video card, but who's checking? (:
~LoudMusic
No sig for you. YOU GET NO SIG!
I have found OpenGL support to be bloody difficult to install, it to be unreliable, prone to crashing due to acursed card-specific extentions, and just plain inferior to Direct X in most circumstances. It is going nowhere fast. Using OpenGL is like using some sort of developmental moduel, it doesn't even feel like a finished product. Did I mention it is also slow?
Face it, (almost all) games are written for here and now. Who would really buy a 2 year old game? So it just doesn't matter if OpenGL leaves more options for the future, as far as games are concerned.
It would be nice if companies like Apple supported SDL and even sponsored its development. Sure it would mean that Linux could take advantage of this sponsored improvement in SDL aswell, but in the end if we make development of games easier beyond the Ms-Windows platform then we all stand to benefit. Sure Apple would be letting Linux have an Apple paied advantage, but that shouldn't matter if Apple is also drawing games developers to their platform at the same time.
What I am trying to say is a company, like Apple, should not be rejecting sponsorship for SDL simply because another platform stands to benefit. Don't get me wrong I am very much pro Linux, I am simply trying to see things from a business point of view. I could have mentioned RedHat instead of Apple, but I see Apple having more to gain from such a sponsorship than does a company like RedHat.
Nobody is going to use an alternative API when there is no insentive.
Jumpstart the tartan drive.
OK!
Go do it! Go! Go now! Do it!
Well, "Compatibility" for game developers mean the game has to be compatible with as many hardware as possible but not operating system. DirectX is better for game developers is because they get better support from microsoft than whoever is developing OpenGL. because DirectX is aiming for games and OpenGL is for all 3D applications. And I don't see why DirectX keep dominating is a bad thing, as you see in console world supporting only one standard make game developers' life much easier. it's good for both gamers and developers.
the_dudey
Its simple really, its the incentive "IP" gives to try to monopolize the market.
M$ doesnt let them do it, it forces them to give licenses to anything exposed by the D3D standard. The OpenGL ARB does the same for OpenGL, thats why its dying. You need a body which actually has real sway over the 3D companies to force standards to be made, left on their own it will never be in the interest of the biggest players to contribute to an open standard.
Thats why the big 3D companies still like OpenGL, they see it as a nice framework to build proprietary API's on.
This has been discussed and complained about in comp.graphics.api.opengl
All current version of Windows still only have support for OpenGL 1.1, even though Microsoft has had the official version of OpenGL 1.2 for a couple of years (and refuses to release it).
This means for a developer to use the newer features of OpenGL 1.2 (and now 1.3) on the Windows platform you have to go through specific actions for each card architecture.
So in short, MS has moved to make sure D3D is easy (write once for any card) and OpenGL difficult (have to customize for each card do to the really old version of OpenGL still in use).
If I could play my games in Linux I would delete windows from every P.C. in my house.
Lately my drug of choice has been evercrack.
It really confuses me why Sony Supports Microsoft by only releasing this game for windows.
If Sony came out with a linux version it would give Four hundred THOUSAND game players a choice at an alternat O.S.
PLEASE do a
Everyone who keeps a Windows machine around to play games raise your hand!
WOW POT is now the default. Nice going
The idea that games programs are 3d therefore the game designers should be flocking to "Open" GL is ridiculous. In the first place OpenGL is still effectively controlled by SGI so the only difference between 'Open'GL and DirectX is that one is developed by a dying company and the other is developed by a highly profitable one.
Giving OpenGL over to a committee is not a solution either. The hardware vendors are not going to wait for a standard to be established before they sell the hardware to expoit it.
Benchmarks of OpenGL vs DirectX are almost certainly meaningless. Even if someone was to implement a large complex application in both the performance is going to be dominated by the performance of the drivers. The idea that the hardware manufacturers are going to spend more time and effort optimizing their OpenGL drivers than the DirectX drivers most of the games will be played on is pretty naive.
There are some MacLoonies out there who believe that their machines are still faster than PCs, it was true five years ago so it must still be true, after all they have these pretty case colors.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
I'm sorry, I don't know anything about game programming.
But I can't help making an association between discussions of cross-platform gaming and things I read on the Java/C++ postings a couple of days ago.
I number of individuals pointed out then that Java is increasingly being considered and used as a game programming language, that the speed on Java-programmed games is rather impressive. A number of individuals gave posts to stories about Java-programmed games: Java ports of Quake, Java interest by Id, a Java-coded FPS called Jamid which was played at Quakecon recently. They also pointed out Java versions of OpenGL and full-screen Java support in Java 1.4.
I'm very interested in the potential use of Java as a gaming language. Does anyone with experience know how likely it is that Java will used in the future? With Java-programmed games you get [practically] instant portability, after all.
Not that hard. The content of the original post is right on the target (and expected since the annncement of DirectX). Of course Microsoft used their OS monopoly to get an API monopoly (do you think that video card manufacturers that will use OpenGL will have their drivers signed ?) then move the API in another market. And of course, this means we'll have a Microsoft Appliance in a few years.
Of course, you are an asshole and don't really care.
It's a sad fact, but it's true! All the good developers get jobs doing CG for films in hollywood, so
we are left with the retards developing games
How much innovation have you ever seen in a DX game? Practically none! Look at the few OGL developers tho.. ID and Bioware, two extremely innovative companies
who are also supporting multiple platforms!
Microsoft has continuosly been updating DX and it has come on in leaps and bounds
during the last few years, while OGL has been left stagnating leading to incompatable extensions being added by card manufactures!
If OGL is going to succeed/win/stay alive, it's going to have to compete!!! Adapt!!! Change!!! Something it has possibly forgotten how to do!
Also it's not nearly as klunky as it used to be. If you take a look at Direct3D 8 for instance, what you see is _very much_ like OpenGL in terms of how you set up a scene, and the process you go through to push geometry down the pipeline. Microsoft's own architecture was realyl shitty in all previous versions, but version 8 (and to some lesser extent 7) were totally ripped out and rewritten to use a similar architecture to OpenGL.
---
Play Six Pack Man. I
Warning. Rant mode on. Developing binary packaged software for Linux is a nightmare. It's like painting a moving train. Which distributions do you target? What versions of glibc do you support? What kernel versions do you test with? How about gcc versions? The fake POSIX threads on Linux are no help, either. Mandatory file locks? Patch your kernel! Forget it. At least Microsoft makes life easier for developers. Tools and documentation everywhere. You want to do FOO? Here's how. On Linux, you have to rely on the communities' verbal history. It's not worth the grief for a market of "thousands of Linux users." Linux and UNIX is optimized for source code distribution; ship your source code and the system works great. If you're trying to develop a binary package, forget it. Link it static and hope for the best. Don't use POSIX threads either.
OpenGL will be only for professional use while DirectX becomes the standard for games and computer scientists.
No MS on Itanium? Can that be right? What about Whistler Server due out sometime in 02?
I read this in an interview with Tim Sweeney: .x file so you dont need to waste time inventing your own file structure for storing models.
"Games written in OpenGL are easy to begin making and harder to finish in Direct3d its just the oposite." Making basic stuff like drawing some surface and aplying a texture is very easy in OpenGL but once you get to the advance stuff(per pixel lightning) you have to go into extensions because this stuff isnt supported by the "core" of OpenGL. And extensions are allot of fucked up work. But when you go into Direct3D everything is right where its suppostu be, extensions dont exist. And then you have the
There are a few good reasons the game industry chooses DX for games over OpenGL.
For starters, as has been mentoned earlier in the thread, DX offers a robust set of tools, including sound, video, input, etc... All of them have similar API's making the entire thing feel more cohesive and familler.
Second of all, there is the driver support. Most vid cards these days have DX support, and D3d acceleration. Those that do not support the full range of features are still supported through a very scalable hardware emulation layer.
Fewer manufacturers develop OpenGL drivers. The reasons are the rub though. The MS hardware labs have specs that are required to be met to be considered DX certified drivers, as do OpenGL. The MS specs are much looser as the preformance/implementation of features. The OpenGL specs are much more strict, thus making it a bit tougher on hardware manufacturers to create drivers. For budget cards and such this extra testing etc. is not worth the cost for the manufacturer. The average budget card buyer is not going to know enough and/or be interested in gaming to want an OpenGL card.
The gaming industry understands this quite well, and to keep a profet, will release games with DX support. While including OpenGL support too is an option, in reality this will triple or quadruple testing and reviews for the code. That's costly, and video games are for the most part a low profet industry.
Finialy to the issue of DX being clunky or hard to use... take a look at the DX8 api's, notably the D3d one. You can produce the same results as OpenGL with code that is relatively as simple, roughly the same number of lines, and often get a very slight preformance increase out of it as well. Tie in the other api's for sound, networking, multimedia playback, etc... You end up in a very comfortable environment. DX is really starting to shape up into what was promised in the beginning from MS.
In light of all this, I have to say that I prefer OpenGL and OpenAL out of principle. Ease of use is about the same now, but open source and cross platform compatability are strong arguments. Now let's just convince the hardware peeps that we want more support for these api's.
SDL is a great and sound idea but it takes time to train people to use something like that and maybe even if it is easy to learn that still costs money. Design companies are strapped as is for cash and are usually cutting it close. So that pretty much requires a company to use directx for the low level stuff. Remember windows is a crap OS and you need someone like directx to get around it for even changing the screen resolution.
That is why you see every game in the store requiring directx. Even if they do choose to go the opengl route directx is required to setup the screen settings and what not. Fact of the matter is too that coding for opengl and direct3d at the same time is still pretty common. In fact I suspect contrary to the questioners beleif opengl is just getting more common. A couple years ago opengl was an iffy thing to program for because a lot of cards in peoples computers were crap and didn't have opengl support. Remember games have development cycles of years and when the games that are out today were in the works opengl wasn't on nearly every card out their.
If your hoping to peruse through the game section at your local EB and see the words "sdl and opengl required" on the box anytime soon don't hold your breath. Your forgetting the faster version of sdl requires directx anyways.
Jartan
Fuck DirectX and OpenGL -- both of them fucking suck for Descent 3 and alot of other games. I have a GeForce 2 GTS card using DX8 for Descent 3, and people who have a fucking Voodoo 4 get better fps under Descent 3 than I do. Why? Because they use the Glide API. Glide is a faster API than either DirectX or OpenGL. Now that Nvidia has acquired the 3D card portion of 3dfx, its about fucking time they included Glide support in their driver releases for their god damned cards.
social sciences can never use experience to verify their statemen
i like how you don't even attempt to rebut his charges and just resort to ad hominem attacks.
it just makes you look like more of a jackass
Cat meet Kettle. Kettle, cat.
All the UNIX people where to busy laughing at windows and feeling superior to notice that directX blew past and got better than openGL...
DirectX 8 is much much improved over earlier versions. OpenGL always needed extensions to make the best of PC architecture (tri-meshes etc), which was a pain. OpenGL standards change very slowly too, whereas DirectX changes whenever MS wants to add a new feature (once a year or so).
:-)
OpenGL is still a contender largely because John Carmack chose it exclusively several yrs back and poo pooed DirectX. More recently he has said DirectX has caught up. The industry tends to listen when JC speaks
Companies often write for PS1 and 2 and other games consoles after the PC version - rarely at exactly the same time and *all* the consoles need specific code. Basically a new platform is a new rewrite (who wants to see a console version of a PC game 1 yr later that's *exactly* the same???). And the MS ppl at E3 said that DirectX 8 code for PC can be recompiled for XBox *but* it'll probably run at 30-50% of it's potential framerate, so you have to recode stuff anyway. This is mainly to make the best of the different nVidia hw compared to the PC (dual Transform and Lighting engines in the XBox).
So DirectX gets you pretty much all the PC market - a good way towards XBox and nowhere on the (very profitable) other consoles - but those are a major rewrite anyway - you don't code a PS2 using OpenGL!!!! It runs like a dog if you do!
On a final note, DirectX 8 was meant to be Fahrenheit (I think the name was) a merger of OpenGL and DirectX, a huge concession by MS after the caning they got from JC and other games developers - but MS and SGI had a falling out (SGI didn't adopt NT fast enough and came out with Linux boxen). In the end MS improved DirectX enough anyway.
my 2 cents
pithy comment
I think some people are missing the point.
The big argument against DX is it only runs on windows. The same things that make windows awful for most things makes it superior for gaming. Windows has such an incredible boost for foreground applications (especially ME/98) that it makes it much easier for gaming..
How many times have you had an mp3 skip because something stupid is happening in the background on linux?? It's great that you can game or do multimedia on linux, but the fact is that what is the point of ramming the square peg into the round hole??
The primary port target for a game is probably going to be a console, not a Mac or a Linux Box. Run any modern shooter on your PC and use some tool to find out how much memory it's using. Now consider that a Play Station 2 has only 32 megs of memory and no hard disk, so no virtual memory. I submit that reducing memory and fixing possible memory fragmentation is much harder problem then spoofing enough of a Direct X interface to get polygons on the screen.
I should also point out that console programmers are notorious for interfacing directly with the hardware to get as much speed as possible. At that point, it really doesn't matter if OpenGL or Direct X are "more portable" because neither are going to be used in the final ported product.
Write a killer game for the Itanium (imagine some REAL horsepower to do some stunning, jaw-dropping avatar AI and some absolutely awesome, fearsome, mind-boggling rendering.)
I'm hardly imaging any popular game targeted for Itanium. At least nowdays it is not a desktop platform. This technology is for servers.
And BTW as it was already mentioned Whistler will support Itanium.
--
Ilya Martynov (http://martynov.org/)
Why do people develop only for Microsoft-specific platforms? Heres your answer right here.
Liberty in your lifetime
I don't know well windows programming, but are there a lot of differences between SDL and DirectX? Is SDL easy to develop with? Are there major functionalities in DX that are not in SDL?
Because SDL can use a lot of backends, it could be an interesting alternate solution.
So I ask you who know well these API: is there any reason for using DX instead of SDL, above the fact the SDL is not well-known by game designers?
Btw, you're comparing apples to oranges here; DirectX is a gaming architecture, while OpenGL a graphics one. You should compare Direct3D with OpenGL. :-)
:-)
Simple answer:
Direct3D is now simpler to use, better supported by video card manufacturers, and more OO than OpenGL.
Long answer:
Up until recently, OpenGL was considered more advanced because it was more high-level. You didn't have to write as much OpenGL code to get stuff to work as you did in Direct3D. (Immediate mode, we're talking about here; only a complete moron would write Direct3D retained mode code, what with the overhead it causes.)
However, with the release of DirectX 8.0, this has changed. Direct3D is now a lot cleaner and easier to use. No more does every card have all these annoying mode bits for every single little thing; the market has consolidated in such a way that the major players all support simultaneous use of the most important stuff. (In the olden days, you had to check mode bits to see if you could use alpha blending and bilinear filtering at the same time, for example. Some cards did it, some didn't. You had to have a work-around in case each of these things failed. This is no longer a problem.)
Additionally, Direct3D 8.0 takes OpenGL's way of looking at things, adopts, extends and surpasses. Ever heard of vertex shaders? Pixel shaders? In OpenGL, these are just extensions that are implemented differently by the video card manufacturers. (If they're available at all..) In Direct3D, they're an integral part of the API. And they'll become even more important in years to come. Here's why:
Anyone remember back before video cards could do stuff on their own, when you did everything on the main processor and pumped it to the video card raw? Well, we're in those days right now with video card design. These processors have very specific things they do; if you want to make a dynamic texture, you'll have to ship it back to the main CPU to process it there. Weighted vertices that use in excess of a certain number of matrices (I'm talking about skinned animation systems here) have to be done on the CPU. The message here is that what the video card can do is very limited, and is "hard coded" in the hardware. There isn't much flexibility here.
Enter "shaders." These are little applications (more like scripts, though, since there are no branches in execution) that you can run inside the video card. Instead of going through all the vertices on the CPU and transforming 'em or whatever on the CPU, you can write a little program called a vertex shader which'll do it for you on the video card. And pixel shaders will do the same for your textures; now you can have zoom effects, warp effects.. heck, you could probably implement Photoshop as a set of pixel shaders. (In fact, I don't doubt they're looking into it as I type.)
You see, the graphics API's no longer just a one-processor API with DirectX 8; Direct3D has become an operating system unto itself! Vertex shaders and pixel shaders are like specialized mini-drivers that you load to access the additional functionality. It's really quite neat! I can't wait to see what the demo scene does with these things; the possibilities are endless!
As for the OO thing, have you ever considered just how many games are OO? Considering OpenGL's very C-ish nature, C++ programmers are easily going to gravitate towards Direct3D, simply because of it's C++ OO design. (And lets not even get started on what happens whenever you throw more than one monitor into the mix. I mean, with DirectX, all you do is use another pointer; what do you do in OpenGL..?) Add in the fact that you'll need DirectX for input and audio either way, and..
Wrapping things up, until OpenGL catches up to Direct3D in terms of it's integration of vertex and pixel shaders directly into the API, (programmers are lazy; they don't want to have to go searching for a frickin' function pointer to access an extension..) it'll be playing second fiddle to Direct3D in the minds of developers. Especially with the X-Box coming out, and everybody and their cow wanting to port to it.
Anyways, carry on..
James
A couple of months ago and in many occasions John Carmack gave some hints where he thinks the new direction graphic chips should go and one thing was higher color depth (64 bits) and DX 9 has been rumoured to maybe provide just this.
I think we can give credits to Microsoft to listen to the developers and to try pushing graphic chips makers.
Games were a major part of Microsoft's rise to power in the first place. While there may be little use for the Itanium in a desktop now, a new game title that took advantage of the power of that chip would shorten the time until the chip hits the desktop mainstream. And while M$ may be planning a realease of Whistler for the new chip, I'm sure DX is nowhere in sight for it. This is an opportunity to take back a major part of M$'s allure. Any takers?
Nvidia even makes their hardware talk to DirectX. That means games programed in DirectX will probably get the most out of that graphics boards, and considering nVidias marketshare that's not a bad idea. It gets even better if other chipset manufacturers do that too. And let's be honest, even most linux-folks out there have a w98 boot option if they want to play games not available for Linux. So marketshare is even less of an argument.
The problem with all this is, that DirectX gives Microsoft yet another lever to dominate multimedia formats and applications, for example formats for animated content (let's see if flash-plugins and shockwave go the way of netscape and realplayer in the near future) and this is big: every advertiseing company wants that, guess what they'd pay for development kits, if the stuff is guaranteed to display properly in IE.
"By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
It should be OpenGL vs. Direct3D
DirectX is an entire API for 2dD graphics, sound, input, and probably a dozen others (DirectNetwork! DirectSideScroller! etc).
Direct3D is what sucked so much. OpenGL would've been the obvious replacement. The industry even petitioned Microsoft to drop Direct3D in favor of OpenGL. They of course refused. They even had some marketing chick come out and try to say that OpenGL was inferior because of "procedural overhead" (as OpenGL is a procedural API).
So, Direct3D slowly gets better, everyone else suffers because of Microsoft's bullshit.
OpenGL plus OpenAL plus SDL on Linux is probably enough to make a great game.
the N64 uses opengl
BOSTON SUCKS!
My MP3s don't skip under Linux. Even when I'm playing Quake 3 and listening to an MP3 running in the "background". I don't have an especially impressive machine either. But 90 FPS and no sound skipping sounds like a suitable platform for gaming to me.
There are rare exceptions, to be sure (one extremely notiable exception you didn't list is Half-Life and with it Counter-Strike), but for the vast, vast majority the life span is incredibly short. And even better point however...is looking at how incredibly few of those exceptionally long-living games haven't been ported to other platforms.
Remember, the extra coding required isn't the only cost for multi-platform...you have to think about QA, packaging (which is typically a different box per OS), and most importantly...tech support.
The added tech support costs alone could very likely eat up not just the extra ~8% you made by selling to Mac/Linux users (I'm being generous here), but quite likely go far beyond that and start eatting the profits otherwise gleamed from your primary platform.
My platform of choice for general use is FreeBSD, but my game boxes have been, and for the forseeable future will be, Windows.
I hate to say it, but even if the next five games I'll likely want to buy (Dark Age of Camelot, Shadowbane, Operation: Flashpoint, EVE - The Second Genesis, Earth and Beyond) all were released for FreeBSD (or Linux, Mac, whatever), I still would buy the Windows versions. For as much as I too dispise the Evil that is forged in Redmond, there simply is not to be found a single champion with the might to stand against it.
If Linux wants games...it has to stop sucking complete ass as a gaming platform (which isn't likely...ever, IMHO). The only possible challenger at this point to the all mighty Windows for a gaming system is MacOS X. But it's not there yet, at the very least it needs to prove itself (as a game platform).
My
If you want an open and portable equivalent of Direct X (not only Direct 3D), go for SDL.
SDL supports 2D graphics, but also 3D (through OpenGL wrappers), CD-Rom operations, sound, network, load/save of bitmap formats, joystick, etc. And it can renders on windows, X11, svgalib, GGI, AA, BeOS, etc.
SDL is very easy to program, and everything is designed in a very consistent way.
{{.sig}}
What about it? MS have never shown themselves good at anything but x86 (with the possible exception of wince/mips) - PPC (never finished) and Alpha NT were pants.
Linux runs on Itanium NOW. And most people can't even get Itanium boxes yet!
Linux also runs on pretty much anything else that has an MMU.
You also neglect to take into account that using a giant bit-blt between system and video memory, essentially, would be mega-slow (especially for every frame!).
Also keep in mind that, at least as of recently, OpenGL and D3D/DDraw don't play well together...
No, unlike most other companies, game companies (small ones, at least) rely on the people who will be creating and using the technology to make decisions. Yes, this is speaking from personal experience at a small (35 people) game development studio.
Every game I have purchased in the last year has OpenGL support. It may also offer DirectX support, but that does not mean that OpenGL is dying.
Also, a lot of games use DirectX for its other APIs yet use OpenGL for the 3d portions.
Jesus, that was just about the most incoherent thing I've read this morning...
Last build I looked at of XP Professional for Itanium had full DX8.1 support. (Yes, they're making a non-server release as well).
I'm not a hardware wonk, but it seems to me that there are hardware issues too. I'm typing this on my work system, which has a fancy Intergraphics card. God know why the guy I inherited it from ordered it -- we don't do CAD here. Anyway, the card has no issues with OpenGL software, but I can't run DirectX apps now matter how I fiddle with the drivers. Not a big deal for me -- shouldn't run Age of Empire II at work anyway -- but just a little strange.
" [...] If DirectX is so hard to program in, so clunky to use, and limits the game to being sold on only one OS [...]. "
I'm a DX developer. And we use it because:
1) It's NOT hard to program in.
2) It's NOT clunky to use.
3) Being for Windows, we cover 90% (or whatever close) of ALL PC in the market.
Any questions ?
- Steve
id software, the primary force behind supporting OpenGL for gaming, has used DirectX in all of it's games since WinQuake.
IIRC, DirectSound and DirectInput were used in WinQuake, Quake II, and Quake III. Any games based off of the Quake engine with the WinQuake client are the same.
OpenGL was used by Carmack back in the day because that was the Right Thing (tm). When GLQuake was released, it was released as a testbed, a "we can do it and make this look good if you will, and we can do it faster than using DirectX for anything". Of course, then 3dfx released their half-assed OpenGL MCD for the Voodoo and GLQuake, and the rest is history.
OpenGL and DirectX are like talking about apples and fruit baskets. OpenGL is a damn great API, but DirectX covers all the basics, so programmers don't have to. Hell, last I checked, Microsoft actually licensed Monolith's LithTech engine (or a predecessor) and threw that into DirectX! All you had to do was make content, and DirectX took care of all the hard stuff. Silly, huh?
Since I do not program games but do play them I will throw in my 2 cents. Other people may not agree, good for them. This is only for FPS games. I don't play RPG or RTS so I can't say how it is in those genre's.
It's hard to explain these things without being vague so bear with me.
First, the mouse movement in every d3d game I have played has sucked, at least for me. The only way I can explain it is that it feels sloppy.
Second, d3d games always look glossy or shiny. This is another point that is hard to explain. I really with I could explain this in better detail as this is the problem I have always hated this. It looks like everything has a nice shiny clear coat finish, if thats any better explanation.
Maybe opengl is going away in games and that makes me sad. If my only choice is the sloppy mouse and shiny graphics in d3d then I would probably only play ones that are very heavy on storyline, which narrows it down to 1 or 2. I wouldn't play any mp deathmatch, ctf, etc.
The DirectX SDK comes with a lot of documentation, examples, background info etc, so a beginner and a novice and even an expert can jump right in and start hammering out code.
With OpenGL that's totally different. First you have the OpenGL 1.1 documentation in the MSDN (clearly the best around, sorry), and for extensions you have to dig into pdf's, vague marketing info and other crap.
Example? nVidia will soon release an ICD that is OpenGL 1.3 compatible. But... how to use that OpenGL 1.3 API in your code? Is there a nice piece of examplecode that 1) explains the 1.3 (or 1.2!) functions extensively, 2) shows you how to actually USE these functions in your code without having to hassle around with glext.h's that are out of date and lack definitions for 1.2 or 1.3 functions and constants.
Never underestimate the relief of true separation of Religion and State.
Its simple really. More people own Microsoft Operating systems. Developers want to make money, so they prgram in a code that will be used in the major operating systems. Developers are simply trying to make money. It all starts with the operating system. If you want to see more opengl software, but Linux's ass and tell them to get their marketing in gear and their software in the homes of consumers. Only then will you see developers makes software using Opengl.
Sorry, but there's NO possibilities to create a TPS using 100% Java. Ever. If you check the spec of the Jamid game, their need Java3D, which is, again in fully C/C++. So all the 3D is manageed by a library, that is not necessary ported on all java plateform. Java is just used to join pieces of the game together, and all other easy tasks (menus, etc). SO, 80% or so of the whole game is in C/C++. The rest is Java.
It's not what I really call a "Full Java TPS"...
:-)
- Steve
"If I move to Paper Street, shoot me !"
It must do one, and only one thing:
Work better than Direct3D
It is that simple. As many people have pointed out DirectX runs on 80%-90% of all home pc, so switching to Open GL to capture more marketshare is only feasible if the cost of development are the same. The problem is: they are not.
Microsoft has poured unknown millions into the development of DirectX and has produced a universal set of API's that work on any video hardware. Until OpenGL or MesaGL etc. can function out of the box with the same (relative) ease development houses will stick with DirectX.
In simple economic terms, DirectX and OpenGL are not close substitutes. One is well known entrenched and universally supported, the competition resides more on the margins and has universal compatability problems. And these compatability/extension issues drive up the price of developing with OpenGL so it becomes an even less attractive substitute.
The OpenGL/Direct3D battle is no different from the Linux/Windows or IIS/Apache or any other open source/proprietary battle. It is not won with principle, or good intentions, but with results. If people want to see OpenGL succeed make it better, and cheaper to develop with than the proprietary offering.
Comments should be like skirts. Short enough to keep your attention, but long enough to cover the subject
Under capitalism man exploits man. Under communism it's the other way around.
OpenGL is used for scientific modeling, film fx, and tons of other things. DX ( D3D ) is only good for one thing and that's *PC games. PC games are nothing, since they can't even compete with consoles. DX on Xbox is also a moot point.
The point then? The point is GL will always be what modelers and the R&D depts will use, because it's a stable and modular API.
As for GL games? If you have a game based on GL, it will support more card features months before DX. However you can't use a cookie cutter engine like lilthtech and the like. There sure are more DX games, but they're mostly swill to be honest.
Would you rather have a dozen lithtech based games or something based on UT, Q3A, or etc?
-------
Please remember when you post the PC gaming market has nothing to do with GL's "life and death".
May the mongoose save your soul!
I think it has something to do with Direct3D as a Gaming 3D API, note, GAMING, API. OpenGL has it's place as a professional API, well, on a Windows based platform. Also given that support for said API is easier given DX Diagnostics, and also more robust hardware support(Pixel Shaders anyone? Not in 1.2)
Non impediti ratione cogitationus.
I'm still developing everything with OpenGL, and I'm still targeting mac and linux as well as windows, but I want to rationally address some points in the API debate:
D3D is clunky, etc
Not really true anymore. MS made large strides with each release, and DX8 can't be called a lousy API anymore. One can argue various points, but they are minor points. Anti-Microsoft forces have a bad habit of focusing on early problems, and not tracking the improvements that have been made in current versions. My rant of five years ago doesn't apply to the world of today.
I do think that the world would be a slightly better place if Microsoft had pulled an embrace-and-extend on OpenGL instead of developing a brand new API that had to be rewritten a half dozen times, but its water under the bridge now.
Open for more sales, etc
It has been pretty clearly demonstrated that the mac market is barely viable and the linux market is not viable for game developers to pursue. Linux ports will be done out of good will, not profit motives. From an economic standpoint, a developer is not making a bad call if they ignore the existence of all platforms but windows.
DX8 Gives more features
Some people have an odd view that an API gives you features. Assuming you don't care about software emulation, hardware gives you features, and an API exposes them. If you try to use vertex programs or bump env map on a TNT, DX8 doesn't magically make it work. DX8's hardware independence is also looking a bit silly now as they make point releases to support ATI's new hardware. They might as well say D3D-GF3 or D3D-R200 instead of DX8 and DX8.1.
All of Nvidia's new features have showed up as OpenGL extensions before they show up as new D3D features.
Divergent extensions haven't been a problem up until very recently. All of the vendors tended to support all the extensions they could, and if they had unique functionality, like register combiners, they made their own extension. The current status of vertex programs does piss me off, though. I really wish ATI would have just adopted Nvidia's extension, even if it meant not exposing every last bit of their hardware.
Abstraction in a high performance environment can be dangerous. If you insist that all hardware behave the same, you prevent vendors from making significant improvements. If the spec for behavior comes from people that aren't hardware oriented, it can be a huge burden. D3D still suffers somewhat due to this, with some semantics and odd features that make hardware guys wince.
The Good News
We are rapidly approaching a real golden age for graphics programming. Currently, cards and API's are a complex mess of hundreds of states and function calls, but the next two years will see the addition of the final primitive functionality needed to allow arbitrarily complex operations with graceful performance degradation.
At that point, a higher level graphics API will finally make good sense. There is debate over exactly what it is going to look like, but the model will be like C. Just like any CPU can compile any C program (with various levels of efficiency), any graphics card past this point will be able to run any shader. Some hardware vendors are a bit concerned about this, because bullet point features that you have that the other guy doesn't are a major marketing feature, but the direction is a technical inevitability. They will just have to compete on price and performance. Oh, darn.
It's a Turing machine point. Even if OpenGL 2.0 and DX10 don't adopt the same shader description language, they will be functionally equivalent, and could be automatically translated.
There is lots of other goop like texture specification and context management that will still be different between API, but the core day-to-day work of a graphics programmer will be basically above the disputes.
John Carmack
Bullshit. OS/2 had only one problem. It was overpriced, to the user and the developer. The PS/2 shared this difficulty. It's amazing that Billy G. has not learned this lesson, but trolls like you demonstrate the imposible every day. Geeze, all the junk characters in that quote took forever to delete.
Its true that XBox is giving DirectX a second platform, but OpenGL is doing well, and the preferred 3D API everywhere but WinWhatever (the Mac being a notable example).
There is intensive ongoing work on both APIs, and don't think for a minute that Direct3D would be what it is today without OpenGL driving it.
By the way, Direct3D is precisely nowhere in the higher end 3D marketplace...games are by no means the only 3D application. I doubt they're even the major money maker - I suspect CAD/CAM has that honor.
We'll see how things look going forward...I expect OpenGL to be around for a good, long time.
Just take a look at the Official OpenGL Website to get a feel for how lively the OpenGL world is...the laptop version of the NVIDIA Quadro2 professional GPU looks pretty sweet!
186,282 mi/s...not just a good idea, its the law.
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
The Playstation II game "Star Wars Starfighter" was developed using a Playstation II version of OpenGL. It looks, from reading the 'postmortem' on Gamasutra that this decision was made when the game was initially being developed for the PC, and that the change allowed the code to be migrated to the PS2 with relative ease.
Maybe the 'saviour' of OpenGL as a games-level API lies in allowing similat (I know about card-specific bits..) code to be used on all main games platforms, Windows, PS2, XBox, and so on?
404 Not Found: No such file or resource as '.sig'
I see this "If you code in DirectX, at least it will work on all cards" canard repeated so often, I can only marvel at Microsoft's propaganda machine and the essential stupidity of mankind. Why do you think so many new DirectX games fail to work under a number of cards until they release patches?
As someone who's coded in both (and Direct X for a game that must support a wide range of cards), an OpenGL program is far more likely to work on a given range of cards if you haven't coded in explicit support for those cards. The equivalent DX program will require far more setup and test code.
People don't seem to understand this about Direct X: It supplies a feature set, but different cards implement different parts of that feature set. You have to *explicitly test* almost any feature you can name to see if the card can support it, via "capability bits". Try getting hold of the DX caps viewer, and you'll be able to see just how many of them there are.
In fact, it's worse than that. Because old drivers often lie about their caps. (Hello Virge.) Also, the caps, especially the texture caps, often don't map nicely to a card's capabilities. So the only real way of seeing whether a particular texture stage setup will fly is to try it, and see if the driver rejects it. Plus there are the weird-arse ones like the NVIDIA 8-stage setup where they jump through the hoops of the DX API to expose their register combiner functionality. (Functionality that is directly exposed in OpenGL, BTW.) Cards also have different capabilities depending on which release of direct X their drivers support. So the same card can report completely different caps depending on driver version. It's a support and programming nightmare.
The only real way to deal with all this is know what each card is capable of, read the manufacturer's release materials, and spend time on the DX mailing list. You spend a lot of time programming a particular effect in a number of different ways, and hope like hell all your combinations cover all the cards out there. You cannot guarantee a particular card will work with your app until you test it.
You may assume that DX provides fallback paths for some features, but you'd be wrong. Or where it does, it does it in a braindead way; because your card lacks fabby next-generation feature X, and you requested it, wham, it emulates the *entire* pipe in software instead of just feature X. You lose T&L, and your framerate slows to a crawl. Then you either code your own pipe to do feature X on the CPU and then hand off properly to the card, or you just go without. Either way involves a lot of testing code. OpenGL is much, much better about falling back gracefully.
I'm also not clear on why people think DirectX has a technical edge. Microsoft do a fine job of going to the current hot hardware vendor, incorporating their upcoming features in their API, and then making a lot of noise about it. But you could access vertex shaders on the GeForce3 from OpenGL on the Mac before you could ever use them from DX. The OpenGL extension mechanism means that when a part comes out, you almost immediately have access to its new features, rather than having to wait for the next DX rollout. (Remember, NVIDIA had to install a "back door" to provide access to the full register combiner functionality of geforce1-2 cards from DX. Many people don't even know it exists.) Go to NVIDIA's web site and ponder how many of their tech demos these days are in OpenGL.
The only thing DirectX has going for it, its so-called unified API, makes no difference at all in the end. You end up doing exactly what you'd do in OpenGL -- testing for certain cards, and using their exposed abilities if they exist. Writing a lot of fallback code. In the end, you're better off going with the card manufacturer's APIs, IMHO.
Think of it this way: rather than exposing a unified API, DX exposes *every possible API*. So many wonderful standards to choose from! If you're a unix guy: DX8 is the X11 of the 3D graphics API world.
A.
P.S. Sheesh, I haven't even touched on the headache that is resource management in DX.
P.P.S As someone who has to deal with all this shit (card compatibility), I'm a mite touchy on the subject =)
1. WHQL has compliance tests for D3D implementations too. And OGL compliance tests only cover what's in the standard, which doesn't help much if you are relying a lot on extensions that haven't made it into the standard yet.
3. Querying D3D capabilities bits is fundamentally no different than querying for support of GL extensions.
4. Card manufacturers have offered APIs for using their own special (non-D3D supported) features in D3D, just as they have written their own GL extensions. And basically everything you wrote about vendors extending GL happens in the D3D world too. The only real difference is that MS tries to get the vendors to standardize as much as possible by keeping the extensions unofficial and updating the spec frequently. The OGL ARB moves very slowly, so competing extensions for doing the same thing hang around too long before being reconciled. Developers generally don't consider this to be a good thing.
There's a lot of history in the D3D vs. OGL war. D3D didn't really need to exist in the first place, it was only created to lock game developers into the Windows platform and hurt Mac gaming. And in the earlier versions, it was technically inferior to GL as well. I agree that life would be better if D3D was never created.
But it *was* created, it *has* improved greatly, and right now it's a pretty damn fine API.
Isn't it smart to release linux clients when the majority of servers run on linux? It could limit your network size by having comepetition that supports a client if you don't.
Also, more games are moving into having huge feature sets. I did bug reports on rune beta by it's built in IRC client for example. Where does the game end and how important will graphics be when everyone uses the same engines? It's happening right now. You have 3 major licenced engines and that's what 90% of PC games are based on...
Hi,
Many of the posts here deal with pros and cons of Direct3D and OpenGL. I believe the real issue here , since both have shown (at least nowadays) to be competent 3D-API:s, is motivating the existance of one or the other. Two API:s only makes things worse for consumers and a proprietary, non-cross platform API doesn't improve the situation.
I have personally always questioned the existence of Direct3D (I am not talking about DirectX in general here), since I really can't find anything it has contributed to but fragmentation of API:s and drivers. I am not out to bash Microsoft here, but I really can't help to see how well Direct3D fits in with Microsft's known ability to use its power (and near monopoly) to crush the competition. Direct3D does not only hurt OpenGL, but also gaming on other platforms in general, thus forcing consumers to the one and only alternative... Anyone but me thinks Deja vu? Why didn't Microsoft simply develop a DirectX wrapper around OpenGL, like SDL? This would allow OpenGL to integrate transparently into the rest of the DirectX stuff and at the same time avoiding the introduction of a completely new redundant API.
OpenGL works great (why else do the #1 3D-genius favor it), just look at the Quake-engine games and the upcoming Doom... OpenGL had this when Direct3D didn't even exist and was clearly the better API for a long time. It is robust, also cross-platform and not controlled by a gigantic "closed" company. So the choice should be a no-brainer, right? Evidently, somewhere, something in my conclusions fail...
I believe the developers are to blame. Tim Sweeney once chose to replace the ageing proprietary Glide API in his Unreal engine. He decided (about the time of DirectX5) to go with Direct3D, citing better driver support. This is just such a bad argument... Direct3D drivers may have been better back then, but OpenGL support is today as good as Direct3D. OpenGL was back then already a mature, proven API. How would driver support be for OpenGL today if OpenGL was the only (or favored) API?? Just think about it....
Though I commend Epic's efforts to bring its Unreal engine to alternative platforms, I think they made a bad choice. It was short sighted and hurt the gaming community as a whole in the long run, introducing fragmentation, hindering cross-platform development and forceing 3D-graphic card makers to put their resources on developing two sets of drivers instead of all efforts into one of them.
Now, don't get me wrong, I don't blame Epic for all of this, but they make a good example of developers taking the easy way out instead of going the way which is good for all in the long term. Now, I am certain they have another view on this... I would love to here it.
If developers really care for gamers they should do like John Carmack. He has put free effort into bringing his gaming experiences to as many people as possible, no matter what underlying platform they use, by contributing to the improvement of free OpenGL drivers himself (through the Utah-GLX project). His creations run on virtually every platform out there and they have always been on the bleeding edge. This prove that cross-platform gaming is possible, but only if the will is there and the right choices are made.
So, my question to game developers is: Why choose Direct3D? It's not as if OpenGL won't run on Windows...
/Erik
The reason your programs written in C using Mesa worked on different systems running Redhat Linux is because Mesa by default uses X11 (and the X device drivers) - so you are generally going to trade off performance for portability. (Note that software GLX support is now included in XFree86 version 4 - prior to this Mesa required its own device drivers to take advantage of certain graphics cards.)
The idea was that those graphic card manufactureres who were thinging that they might develop OpenGL compatible cards were led in a particular direction which in fact has left DirectX pretty much in the driving seat.
I've not heard anything since. So perhaps this approach worked to stifle any competition for a while (although NVIDIA still seem to offer OpenGL stanards for their cards).
I write 3d game engines for a living, and have been fighting this issue for a decent part of my career.
The OpenGL ARB really doesn't give a crap about games. Sure, there are a number of vocal game advocates, but the majority of the membership is far more interested in maintaining backwards compatability to older SGI and Evans and Sutherland hardware than keeping up with accelerator progress.
If the ARB did care about games, there would be a concerted effort to standardize on vertex and pixel shader instructions between card vendors, and a move to get these into the standard AS FAST AS POSSIBLE, and a push to actively participate in ongoing features. Instead, it took them years to drag in a few interesting extensions, and Microsoft has assumed the unifying role in the gaping vacuum.
As a game developer who has spent too many man-years fighting abysmal M$ API bugs and design limitations since Win 3.0, even I will admit that Direct3D has completely exceeded OpenGL as a 3d game development platform. Why should I invest six+ months tuning seperate nVidia and ATI shader support engine features under their respective OpenGL extensions, knowning that this GL code is barely reusable and is tied to a VERY limited set of cards?
Add to that M$'s role at the ARB, and the influence they throw around with their money to keep other members in line (remember Farenheight?)
Unless the ARB makes tremendous changes in its policy of staying 3 years behind the hardware, I strongly feel OpenGL is relagated to the niche BASIC fell into. Sure, you can get it on all platforms, but its so slow and feature poor, why bother?
I wouldn't hold my breath...
direct x updates start to lag on windows, and show stopping bugs seem to frequently work there way in, video card makers have a harder time writing drivers due to declining documentation. ms' self supported drivers for the xbox of course do not suffer.
xbox becomes the platform of choice for pc games due to xbox only extensions to direct x, and better compatibility. developers who want to have there games run under windows are forced to port the direct x code to opengl.
Is any one working on a DirectX/3D to SDL/OpenGL translation layer?
If we took DirectX/3D and made it an open standard that both Microsoft and the rest of the world could develope against, then it wouldn't really matter that game developement companies are using DirectX/3D.
Mind you I'm not talking about WINE here.
Because of M$'s lock on the OEMs, you had to pay "the full price" for OS/2. The price for Windows is not immediatly obvious because it was rolled into the cost of the system. Sadly, those of us who chose OS/2 still had to pay Microsoft for Windows(via system purchase) as well as pay for OS/2. The Microsoft Tax was the driving force behind my learning to build my second(and later) systems. Even then, I still had to pay the M$ Tax when I bought a laptop - rather hard to build one of those from scratch.
At that point, a higher level graphics API will finally make good sense. There is debate over exactly what it is going to look like, but the model will be like C.
It seems odd to adopt C as a model for universality. I was working with a co-worker of mine who was having trouble compiling some good-old-fashioned ANSI-compliant C code on MSVC 6.0, because it isn't standards-compliant. While most architectures seem to be able to compile a dialect of C, I dunno if one can really say C is universal. While the rate of change for introduction of incompadabilities with C seems to be slowing, it acts very much like an organism continually mutating and diversifying itself.
An interpreted language like Python may be a better model, because it behaves transparently in spite of the underlying architecture. That and some folks are already using it as a high-level graphics language.
I don't know how difficult DirectX is to code in, but why would people on Windows give a shit about portability? The only reason you need that is because there's no standard for unices and therefore need to be able to recompile on different systems. No shit like that with Macs or Windows. And your "Windows is arguably...for graphics" -- what the hell are you talking about? That's DEFINITIVELY, not arguably. Personally I think OpenGL sucks to code in, but I didn't try DirectX.
As you said, DirectX improves with each release and that makes it obvious why people sticks to it, so I think next time you should think twice wasting people's time with linux-biased shit like this (good for you you use linux, don't expect Windows people to pity you).
Any game developer who programs games for xbox is going to lose. Microsoft can decompile any game programmed for xbox. Your IP is Microsoft's IP. Anything you come up with that is innovative, Microsoft will own the moment you release a binary copy of it. They have spent billions developing this decomplier technology and it has enabled them to own any market they choose to enter.
Game developers, beware, your developing for the devil.
Does the the new OpenGL 1.3 spec support pixel and vertex shaders?
If those features are missing from the new OpenGL spec, then we are in trouble and the OpenGL board needs to act to remedy this situation.
To win against Microsoft, we need to have their be NOTHING useful that Microsoft products do that ours CAN'T. We MIGHT be able to get over the market share/monopoly/compatibility lock-in because our product is free (as in free speech and free beer), and does some things better. But if the pro-Microsoft forces can point to a TECHNICAL INFERIORITY of our product we are doomed.
Just because it CAN be done, doesn't mean it should!
Most Game developers won't use OpenGL due to the poor driver support. It just adds up to more tech support calls.
The fact that it won't sell on Linux is hardly an issue. It's just not cost-effective to port to Linux anyway.
Why ask? You know the answers.. Compatiblity with the only OS in the demographic, stable drivers (ever tried Massiah? Driver nightmares thanks to OpenGL)..
Boo hoo, the world doesn't make sense.. Cope and move on..
pot/kettle/black
Take your first half dozen paragraphs, substitute GL for DX and extensions for capability bits, and your arguments will still remain true. Your complaints really have nothing to do with either API - they're just the product of card vendors competing on their feature set and varying driver quality.
I noticed the absolute lack of ANYTHING other than DirectX games.
I'm not sure what you are classifying as a "DirectX game". If you mean the game "requires DirectX #" to run, that doesn't mean it's not an OpenGL game. Many games, including recent kickass Tribes 2, run both under Direct3D and OpenGL. Almost all modern games require DX because it supplies a common interface for sound, input controllers, etc. D3D is merely the graphics module of DX, and "OpenGL games" usually use both DX and OpenGL simultaneously.
AFAIK, OpenGL is also the favored API of both nVidia and ATI, which together make up almost all current and next-gen 3D cards. Most modern driver sets are fully compatible with both OpenGL and D3D.
The V12 graphics engine, featured in Tribes 2, is best seen under OpenGL. Furthermore, the V12 engine has been recently acquired by Garage Games and V12 liscenses can soon be purchased by developers for the unheard-of price of $100. It's not open-source, but it is cross-platform (Linux and Mac too!). I expect an absolute FLOOD of cross-platform OpenGL-supporting games to be released soon after the V12 is available. ATI has recently been working with GG to implement their next-gen rendering doohickies on the V12.
OpenGL is NOT dying.
-----
The revolution will be slashdotted.
-3Suns
~~~~
The Revolution will be Slashdotted
Python is no more transparent than a C program after a compile on the platform in question. Python only appears to be more portable because MS hasn't broken it yet.
I'm guessing Carmack used C as an example because shader-code is bound to be very low-level code.
Standards are standards, ANSI-C still compiles
on any decent compiler, and your comment is misplaced.
A witty
OpenGL IS the API for gaming consoles. Its what the PS2, N64, Dreamcast and PSOne use. Its also what the MacOS, Unix, and every Windows CAD program in existence uses.
:)
So yeah, I think its got cross platform down pat.
The big open question at the moment seems to be whether the general-purpose PC is dead as a gaming platform. The royalty-based revenue stream from consoles is more attractive to platform developers, the configuration consistency of consoles is more attractive to software developers and support organizations and publishers, the hardware and software support for intellectual property protection is better on consoles, and the higher volume of game sales on consoles is more attractive to nearly everyone in the supply chain. Then there are the "we want to own everything from the character concepts to the titles to the delivery platform" business strategies from folks like Sony.
It's possible that the PC will remain a delivery platform for traditional scientific/technical/business applications, but not for entertainment applications. In that case OpenGL would continue to play a role for the "professional" apps even though it might not play a role for the "consumer" apps (except possibly on MacOS X and Linux).
I'm also curious to see how D3D evolves if XBox succeeds. Does the PC become the leading-edge development platform, with console designs occasionally spinning off from the current 3D environment on the PC? Or does D3D on the PC stabilize, getting major revisions only when new console hardware justifies a fresh release?
There are many other things to consider. The next couple of years should be interesting.
For fear of this being rehashed in the above...
If DirectX is so hard to program in, so clunky to use, and limits the game to being sold on only one OS
Thats just it - DX isn't that bad or clunky anymore. Sure - the first half dozen attempts were downright embarrasing (I hope MS engineers realize this), but today... its straight forward and to the point.
Will OpenGL continue to mature on the Windows platform
Yes, but almost certianly because of John Carmack and his work.
Just the opinion of another game programmer.
I agree
That must hurt to have your anti-MS arguements (that you can usually get away with on Slashdot no matter how skewed and arbitrary they are) completely TRASHED by John Carmack himself.
I think it's only been established that Id didn't do well with the Linux gaming market (Admittedly, that's NOT a good thing) and it's been pointed out repeatedly by myself and others what went down with the sales of Quake III:Arena- and it wasn't because you did a bad game or did bad by us. (On the contrary, you and the great people at Id given us all KINDS of things- including the initial 3D support for the ATI RagePRO, etc.)
When you lag the release of the game by a bit, offer a way for Linux users to buy the Windows version and then "convert" it to the Linux version, and have a situation of mixed quality support of 3D (Some of the blame can be laid at the community's feet for that- some of it can be laid SQUARELY at the feet of the chip vendors...) sales are going to be most certainly in the toilet. One has to wonder how many of the sales for the Windows SKU were really impatient Linux users. You're never going to know- because there's no way for you, or any of the other management there at Id to know for sure because you didn't have a framework for keeping track of the "conversions" in place (Should you have? I'm not so bold as to say you should have- but it would have helped to know for certain that the Linux market was a washout at that time or not. I tried to buy it at the rollout for Linux, to no avail- and in Dallas, one of the larger markets...)
I don't think anybody would blame you for not seeing Q3A on Linux as a success or viable for gaming- I sure wouldn't and I completely understand the position you're taking on this. I just don't see it the way you are because I'm seeing different data points.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Uh, the individual in question that you're calling a 15 year old, is none other than John Carmack, head coder at Id software. Unless John's id got hacked, the post is very likely to be from him- it's in his posting style by the way.
He's developed all these cool games, you know like Quake and DooM. He drives this nice Ferrari (I know, I've seen up close and personal at the parking lot of the office building Id's currently at.). He's developed code that is used by the Open Source community (Utah-GLX has code that he developed in it...). He's no script kiddie posting lame crap on here.
While I know it's highly unlikely that you're going to do it (Posting that diatribe as an Anon Coward is really being a coward...) you owe the man an apology.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
I have never had an mp3 skip in Linux. I have had an mp3 skip in win98, a LOT of times.
Q.
I suspect he wasn't writing for whiny little bitches like you.
M$ as an informal abbreviation for Microsoft is accepted practice all over the internet in casual discussion sites like this one.
Don't like it? Get over it or leave.
Anyone remember the day SGI sold their soul to M$ if an attempt to ensure the survival of OpenGL with Fahrenheit.
There is folly and foolishness on the one side, and daring and calculation on the other. - Admiral Pellew, Hornblower
directx is quite odd to program for (mainly because it is based on COM), but it is really fast... seriously, in win32 you can't beat directdraw for graphics, and it will transparently use whatever hardware accel is available... before directx, most games were written for DOS in assembly because win32 GDI (windows graphics library) is so slow.
my geforce2 mx supports opengl and directx and quake 1, 2, and 3 runs beautifully on it so.......is there a problem?? times change, graphics change
DirectX is very easy to use. If it werent then almost all games out there would not be programmed for it. And DirectX is more than just a graphics interface. It is an interface for the networking, user input devices, sound output and all the other devices surrounding game play. This is another reason that it is so easy to use it that it brings all these things together.
The really strange thing is that I've had MP3s skip in my portable MP3 player, but that's only because it is the most horribly cheap thing ever.
Y2K Compliant since the late 1890s
the full power of GL cannot be utilized on windows since they refuse to update the software implementation... and they put out all kind of garbage on why DX is better when its actually not, and poor monkeys buy into it...
Sorry to contradict, but OpenGL is growing faster than ever. It is the standard for all pro-3D on all platforms, and while your visit to the game store only showed D3D support on the software covers of Windows games, actually most of the top selling games are OpenGL only or only and D3D. OpenGL is supported on more and more applications every day - Windows, Mac and of course Linux. There is also a growing market for embedded OpenGL.
The Microsoft hype machine is however very powerful and therein lies the risk - if game developers listen to the hype, then may ignore the fact that OpenGL is easier to program, better documented and fully cross-platform.
So as you can see, wrote their own GL renderer.
I Browse at +4 Flamebait
Open Source Sysadmin
you make slashdot suck considerably less.
-- sayke, v2.3.05
which is a different Ask Slashdot: why is there no version 4 of so many things? No DX4, No Palm 4, no Voodoo 4, no Borland C++ Builder 4 ... all skipped straight to 5... go figure
Was there an MS-DOS 4?
Not only was there no MS Word 4, but they skipped 3 and 5 too.
Slackware Linux had 4, but skipped 5 and 6.
Anything else?
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
>make an *ss of oneself...
Bravo pal. You just outdid yourself. Everyone else got the joke. Go back and re-read the post you replied to.
nice -19 xmms
"Where shall the word be found, where will the word resound? Not here, there is not enough silence." -T.S. Eliot
OpenGL doesnt run on Windows NT, Windows 2000, or Windows XP.
I recently bought Anachronox (no im not evil for buying something so troll someone else), it runs only on OpenGL. I run WinXP... so... I have to dual boot to winme... sigh...
Also, openGL gets hacked more than DirectX... Quake3 and counterstrike... ALL the graphics cheats are for the OpenGL set... makes me wish for directx only.
For the past few generations Nvidia and MS have colluded to make sure that DX supprots the latest whiz bang featrues of NVidia cards.
At Quakecon a few weeks ago John Carmack took Micrsoft to task for putting thinly disguised Nvidia specific operations in DX8.
Fact of the matter though is that NVidia dominates the game-video car space and MS dominates the OS space, and they work togetehr to reinforce that lock.
I don't know if this is the reason, but in China, Japan and Korea: 4 is an unlucky number (like 13 in the west).
Historically, Linux users have NEVER been able to understand the concept of voting with their pocketbooks. A while back I read that when Carmack released Q3 for Linux, he was very, very dissapointed with Linux sales to the point of making him uninterested in future simoultanious multi-platform releases.
Linux users think everything should be free.
It should be pointed out that OpenGL shouldn't be compared directly with DirectX. DirectX is many things besides Direct3D - DirectInput, DirectSound, DirectDraw, DirectPlay (networking)... Direct3D is just one (albeit the most important for many games) component of the whole. John Carmack (to my knowledge) never said DirectX sucked, just Direct3D. Quake used DirectInput and DirectSound (and DirectDraw if you were using software) and I believe the following Quake games do as well.
If you want to talk about the whole package, you sohuld compare DirectX with something like SDL, which does try to supply the other components like input and sound (and does use OpenGL). Of course, as a whole, SDL doesn't have nearly the pedigree and industry support as OpenGL does.
So if you want to take about OpenGL, compare with Direct3D and keep your terms straight.
And all this raises a point - Direct3D is part of an entire games/multimedia programming environment. Most game companies aren't just looking at the 3d but looking at the entire suite for all the ways their game must interact with the operating system, and once you start using some of them (DirectInput, DirectSound), why not make things consistant and easier by using their 3d component as well?
To my knowledge, John Carma
"Everything in OpenGL is different for different cards. If you code in DirectX, at least it will work on all cards, even if only on Windows (so far)."
I was (trying to) say that in the end there's no difference. You still have to pretty much test per-card.
Jesus. I don't even have a fucking kettle.
A.
C'mon people, stop chanting what you've heard once before. What was true of DirectX 5 and DirectX 6 isn't necessarily true for DX 8. In fact, I find it VERY streamlined and it's much easier to tap into the power of modern hardware (Geforce & Radeon - class) with it. OpenGL has sadly fallen behind the times, with a vendor-proprietary extension scheme which means that though the GF and Radeon can do the same thing X, you must code it up twice, once using extension NV_GL_NVIDIA_GREAT_FEATURE_X, and once using ATI_GL_ATI_GREAT_FEATURE_Y (because the damned vendors have their own marketospeak names for the same feature).
Besides, DirectX is by no means single-platform: it is the clean way of moving your game to the Xbox.
There are tons more sources of non-portability in a game than the graphics API alone.
Speaking as a gamer, I know personally I cringe whenever I see a game that uses OpenGL. The reasons I dislike it are:
1. Just one more driver to download (or break) - OpenGL often requires drivers outside of the normal pack, and they can be a pain to download. GLSetup is slow for downloading, unresumable, and often screws up anyways. And the GL drivers can be very, very difficult to find otherwise.
And of course, it's just another thing that can break or get screwed up at some point, in which case you usually have to download it again.
2. It never, ever seems to work properly - OpenGL seems to break down far more often and extensibly then DirectX. In all the years of playing games, I've only ever had one DirectX display bug (and that was caused by corrupt drivers.) OpenGL, on the other hand, never seems to work perfectly and barely ever seems to work at all. It seems like hardly a week goes by without getting a new display error in Q3A or having it suddenly stop working for some odd reason.
Also, many times game features don't work in OpenGL, especially necessary things such as gamma adjustment.
3. Poor Implementation - Games that offer OpenGL as well as DirectX (and sometimes Glide) usually don't use it very well (possibly because it's so marginalized.) As you'd expect, it causes even more display errors, bugs, and slowness than even normal OpenGL.
Also, many video cards have truly bad OpenGL drivers, or even none at all. This can cause more problems. Only Nvidia really seem to make good OpenGL drivers.
No, the incredibly low number of desktops is why Linux is a small gaming market. D'uh?
Basically, DirectX == Windows == locked in to Microsoft.
DirectX started as a poor copy of OpenGL and was developed into something reasonably fast but still up to the eyebrows in gotchas. Pretty typical Microsoft, really. Make Windows 3 incompatible with DR-DOS instead of better at what it does, make Word incompatible with every known document standard instead of better at what they do, make VMS into a buggy GUI support layer instead of leaving it as a low-bug, secure and efficient OS then layering the GUI onto it, make DirectX incompatible with OpenGL and X (why call it DirectX anyway? X without networking? That's a feature, is it?) instead of adopting OpenGL and driving the standard somewhere better.
Small mercy, in a way, M$ might have enforced 8.3 object names or something. But one reason for being different is to avoid direct comparisons. Plugin card drivers like XFree86v4 uses would clearly show DirectX up for the convoluted dog that it is.
Actually, they'd benefit quite a bit from a good dose of ivory tower purism. As well as being portable, they'd be less buggy. Might be faster, too, if they were designed around good software principles, rather than to take advantage of or avoid specific features and bugs in DirectX.
Got time? Spend some of it coding or testing
DirectX is so hard to program in, so clunky to use...
Although I'm a fan of OpenGL, it's way to harsh to say that DirectX is clunky. It's actually quite brilliant (albeit some quirks), hence why so many predict that a lot of developers will LOVE developing for the X-BOX. One other thing to consider about DirectX, is that it's an all encompassing API which handles not only 3D accelorators, but 2D display, input devices, 3D and standard sound, and so on.
There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
...it's gunna be cool. In fact, it already is cool - just not stable enough yet.
Microsoft are to real-time graphics what Macdonalds are to food. If instead of doing their own thing they'd got behind OpenGL and pushed instead of telling lies about its performance, OpenML would have been here many years ago.
Got time? Spend some of it coding or testing
DirectX -> Microsoft(TM) API for multimedia hardware abstraction.
OpenGL -> Platform-independent 3D (and 2D) graphics rendering.
The problem is you need something like GLUT to make OpenGL useful (which now includes a nifty full-screen gaming mode). OpenGL has no concept of a current window or device (like a 'this' pointer or current buffer handle), there is only the current OpenGL device and its state (effectively global variables). GLUT makes some strides toward platform independence, as you can create and switch OpenGL contexts among the GLUT created windows. GLUT also has the all-important callback functions for I/O message-based processing.
I think that there needs to be an equivalent API for 3D sound, music and input devices if truely portable games are going to get off the ground.
That's my (double)2/100 of a dollar.
The biggest trick the devil pulled was letting lawyers become politicians so they can write the laws.
Why isn't there a concerted effort to develop a software 2d/3d game rendering API?
Maybe even a fast (or faster) ray-tracer/scanner/caster?
What about hardware-accelerated ray-tracing?
The biggest trick the devil pulled was letting lawyers become politicians so they can write the laws.
As you probably know, Battle of Britain will be open sourced. On the forum, at http://www.simhq.com/simhq3/sims/boards/bbs/Forum4 0/HTML/002621.html someone asked how difficult it is to convert from Direct3D to OpenGL and then to port to Linux. Surprisingly (at least, to me), the answer was:
BoB uses D3D Bit this is sperated out into the lib3d.Dll - so, in theroy, all you would have to do is re-write that to give OpenGL support. The bigger problem would be converting the UI to not use the M/S MFC.
Thanks and kudos to whoever moderated this rant up. I haven't laughed so hard in a while. It's gotta be a troll, though.
Jeremy Lee | Orinoco
His post was so good it got modded to +4 but he didn't get any Karma points because he posted AC.
BUAHAHAHAHAHAHA!!!!
MICROS~1 directx still sucks like 5 years ago. they can't even make it work properly on their shitload bunch of oses, e.g. on NT 4.0 it frozen at dx 3.0 epoch, so that's ok - MICROS~1 will never do things right. As for GL, there's much more positive things happen, apple now with it, and so on...
The upcoming Doom 3 from ID Software uses OpenGL and will run on not only Winbloze.
Ciryon
ahem hem. You're missing a game.
MAX PAYNE. a D3D _ONLY_ game. It happens to be one of the most innovative games to date.
roofle.
Man, what are you STUPID! ROFLASC! The man you just called a "15 year old kid who's only experience with real game programming is writing dupe macros for Ultima Online" is one of the greatest gaming programmers that ever lived! You'd better feel really stupid now, AC!
HAHAHAHA! It's just SO funny how you made a fool out of yourself!
I might be wrong on this, but I thought MS announced it would drop OpenGL support in its future OSes like Windows XP.
Haha! You didn't get his joke. The joke is all on you! Unless.... your reply was also a joke. Then it's all on me... Aooouuucchh! d;*P
Lesson: Everything's a joke. Don't be so serious or you won't get it.
- Steeltoe
http://www.debunkingskeptics.com/
Fair enough. Sorry.
First, you are aware that DirectX does more than just graphics right? If you are writing a game on windows, the only reasonable way to do sound, and control input are through DirectX.
Now, what I want to know is, are you trying to tell us that Quake3, Unreal Tournament, Halflife, and Counter Strike are no longer for sale? Those are all games that not only support OpenGL, but also work best in OpenGL if there is an option (except Unreal Tournament which works best using Glide).
One of the biggest problems with OpenGL, is that Microsoft has been sabatoging it ever since Windows 95. For instance, for you video drivers to be Microsoft certified, they have to fully and properly support DirectX, including Direct3D. OpenGL drivers on the other hand aren't required, and when they do exist, they could just plain not work, and still the card and drivers could be Microsoft certified. This is why there where so many QuakeGL implementations of OpenGL floating around a few years ago.
I'm a loser baby, so why don't you kill me.
Just a quick comment Given that Apples new OSX shares a lot of code with the various *nixes out there won't that reduce the cost of developing for non Windows platforms. I don't know how OpenGL is implemented on the different platforms but some Linux games have alreadybeen ported. This should give developers a larger customer base for their games with minimal development costs stoneskimmer
Early versions of D3D (pre DX8) integrated better with DD then OpenGL did.
;-(
A lot of game developers dropped the ball on this. And it didn't help that M$ shoved D3D down us game programmers throats whether we wanted it or not (shoddy OpenGL MCD support, very bad DD integration, etc)
That's the REAL reason -- commonplacy with developers. Too many didn't care enough about OpenGL.
Just a thought.
RFC2119
Pretty much the most important (financially) use for a 3D API. Portability isn't exactly a huge issue when you consider that even the M$ PC market doesn't yield a lot of profit for anything other than a top 5 hit, do you think publishers give a damn about Linux ?. Maybe Loki did, but look at the losses they are making. When you consider that us developers now have Xbox as a platform (DX8) you can see that OpenGL isn't very attractive. Regardless of how good it is (and it is very good) it has very little going for it in the current marketplace.
My Geforce2 mx runs Counterstrike at 72fps in OpenGL and 35fps in directX.
Which one do you think i run? lol...
From an economic standpoint, a developer is not making a bad call if they ignore the existence of all platforms but windows.
:)
:)
I think it would be an interesting experiment if Id Software would totally screw over the Windows users by releasing Doom 3 only on Linux and never releasing a Windows version.
I'm sure they (or any sane game company) would never do it. However, what they could do instead is release Doom 3 for Linux six months before they release any other version. That way they could still make their big Windows money for the game (with a six month delay), but they could also help change a lot of the more hardcore gamer computer geeks over to Linux. At least, there would be a lot more dual-boot setups
It would be like a nasty bee sting against Windows as the gaming OS of choice, but, of course, it wouldn't do too much damage. Personally, I would be pissed off by the move, but I have other games I could play in the mean time even if I decide to not bother with a dual boot. A more effective assault would incorporate several killer games from several different genres (like RTS, RPGs, etc.) released in the same fashion at about the same time.
It's just a thought. I bet if Id actually did anything like this, they would probably all be lynched by enraged, rabid gamers
When all of the hooplah about DirectX vs. OpenGL was a hot topic back around 1997, DirectX was a much different beast. It has gone through three major revisions since then (versions 6, 7, and 8). I'm still dumbfounded that a simple SDK can be a hundred megabyte download, but, that aside, DirectX is much simpler to use than it was even a few years ago. The big issue in 1997--execute buffers--haven't been necessary since 1998. The other big issue--horribly complex initialization code--was addressed in DirectX 8.
To my knowledge a great majority of the most popular 3D games run better on OpenGL, not DX.
...
Let's see:
Quake
UT
Tribes
Half-Life
....
Append your own
The author's comment is suprising in which OpenGL is strictly a 3D API and DX is an all purpose Gaming API. Comparing Direct3D to OpenGL yields the fact that most 3D games run on OpenGL.
The future of OpenGL ISN'T IN DANGER.
I gotta little question, if i start a riot will i get protection
Most of this is all covered in an article at ExtremeTech
While compilers aren't perfect, most can compile ANSI compliant C code with very little or no trouble. I personal have had good luck with Borland's C/C++ compilers. Some dialects of C maybe incompatible with certian compilers but that is not a reason to condem C. Besides interpreted language such as Basic or Python etc tend to suffer from slow run times and very inefficent compilers. If you want to do any graphics more advanced than displaying simple bitmap animation it's best to use a fast language like C which is as close to the speed of assembly in a high level language so far.
First of all, there's a command-line switch to make MSVC 6.0 compile ANSI-C code..
Secondly, I think C is the best choice because it was originally designed to be a more readable ASM - anything higher than that would be possible, but perhaps unnecesaary, and might introduce more overheads?
There's almost definitely gonna be instruction sets (an ASM language), so people can port existing compilers, etc., I assume.
Hello, for everyone saying "The problem with OpenGL is that it doesn't include a cross platform abstraction for sound and input", you NEED to go check out The Simple DirectMedia Layer. SDL integrates with OpenGL and provides cross-platform (essentially it wraps DirectX on Win32 and Xlib/XDGA on *nix) access to mouse, joystick, sound, etc.
After reading the comments from game programmers it seems that the DirectX vs. OpenGL/MesaGL isn't exactly a lost cause in favor of M$.
1) Programmers are already constantly updating their knowledge of the APIs that are continually changing to take advantage of the latest features
2) Each new game starts basically from scratch
3) Porting is already common for companies that want to support the Mac. And
4) Hardware companies such as nVidia are still supporting/advancing OpenGL.
It seems to me that when and if there is a significant reason to change to a more open spec from DirectX it can/will be done within a generation of games.
-Russ
Me
Unless the ARB makes tremendous changes in its policy of staying 3 years behind the hardware, I strongly feel OpenGL is relagated to the niche BASIC fell into. Sure, you can get it on all platforms, but its so slow and feature poor, why bother?
You mean, just like the very uncommonly used Basic known as Visual Basic? ;) OK, it's not available for all platforms. Just couldn't resist poking at your choice of example.
Everyone who makes generalizations should be shot.
OpenGL just doesn't provide the same level of functionality that DirectX does. DX8 and OpenGL both provide a simple, clean API that any idiot could use (and the game industry seems to have tons of sloppy idiots), but DirectX continues to be updated frequently with support for new features as they come along (like the new shader languages that have been all the rage on the hardware sites). DX also provides a lot more than 3D graphics.
One area where Microsoft made a great move was in using COM (that's the core of ActiveX to you non-programmers and non-Windows programmers) as its basis. Rather than building an ever larger API in order to maintain backward compatibility as OpenGL has done, they provide a new set of interfaces with each version that may or may not be compatible with a previous version. So a DX7 game uses the DX7 interfaces, a DX8 game uses the DX8 interfaces, and both end up using the same underlying components even though neither is exposed to the redundant feature set of the other. That allows MS to rethink things and simplify whenever they feel the need.
Now, here's the drawback: this rapid change has led us to the point where old cards just aren't supported for hardware acceleration. Do you still have a 3dfx Voodoo 1 card in one of your older machines? You won't be using it with DirectX Graphics, since DXG requires a DX6 or higher driver and 3dfx never released any post-DX5 drivers.
This is another one of those cases where MS had enough money to experiment and keep retrying things until they had a better product. Now, if they can just produce a better browser than Mozilla...
I know Mac game sales are probably 1/50 of windows games sales, and linux may be even less. For the Mac, at least, this is a self-defeating cycle. I've heard some /.ers say "The mac is nice but it doesn't have any games, so I won't buy it." Then game developers say "The mac isn't much of a market." and give late or mediocre ports [Civ:CtP crashes like a mofo when trying to save which is great irony and perfect timing] to the Mac, or often just don't bother. Then some /.ers say "The mac is nice but it doesn't have any games, so I won't buy it." Then game developers say "The mac isn't much of a market."... It'd be nice if companies, including Apple, bothered trying to change this cycle but it seems like this is the only hope for now.
Alright - first off, not ANONYMOS COWARD here, just too lazy to register... I'm a reader at Slashdot, not a poster... anyways - this is NuAngel - the "3dfx" toating guy, blah blah blah... anyways, I just wanna know why Carmack is saying stuff like Loki owes "us" (id) money. At last note, I thought our favorite Doom 2 final boss had left id... or was Brian Hook the only one to ever really left the team??
NuAngel.net - unedumacated staff, writing stuff for your useless video cards.
One comment there really drove me up the wall. Carmack admits that it took years and many major revisions to make DirectX 8 into a decent graphics API -- competitive with OpenGL -- but then he waves his hand and dismisses that as merely "water under the bridge" and says people shouldn't harp on it.
The reason that bugs me is because I remember years ago when the whole OpenGL versus Direct3D issue first came up. Somebody wise in the ways of software development (sorry, I don't recall who it was) posted a prediction. He said: Direct3D is pitiful compared to OpenGL. Somewhere several years down the road, after several major revisions, Microsoft will finally get Direct3D to work as well as OpenGL already does today. A few smart developers will use OpenGL, but the vast majority of them will let Microsoft lead them around by the nose for a few years before finally getting basically the same thing -- except without cross-platform portability.
And it happened exactly the way that guy predicted. And I watched it happen, helplessly. The question I have is, why do developers go along with this kind of thing? I mean, are they STUPID? Don't they ever LEARN? John Carmack calls this "water under the bridge". Sure. . . It's all in the past now -- until Microsoft rolls out their next "de facto standard" (dot-net, anyone?) in a half-completed state, expecting developers to sign onto it en masse. Which most of them will, just because it's from Microsoft. Then wait four or five years for Microsoft to get it working right -- and oh, by the way, it only works on M$'s operating system.
I don't get it.
Stop whineing about MSVC 6.0. It Owns you...and if your friends C program dont compile on it, its becuase the old C launguage aint Microsoft compliant. And these days you better be Microsoft compliant or the only thing your going to be able to log on is your toliet.
Billy G.
Why support only one API rather than multiples? What your proposing is that we only support Walmart like company (implying: let that we should let them take over). And we already know that when an object trys to take over the world i.e. Shredder in the Teenage Mutant Ninja Turtles, or in a more real-world sense Hitler, they will thankfully be brought down. It seems that a man of such knowledge wouldn't only support on group of people, but as many as possible. Why? -walloo
willywalloo's mostly macly - URL
From: Richard Heathfield (complangc@eton.powernet.co.uk)
Subject: Re: A primeval C compiler
Newsgroups: comp.lang.c, comp.std.c, alt.folklore.computers
Date: 1999/07/29
Dennis Ritchie <dmr@bell-labs.com> wrote in article
<379FE9FA.7D08@bell-labs.com>...
> I finally prepared another fossil for museum exhibition: from DECtapes
> written
> in 1972-73, there are exhumed C compilers (including source) to show
> what
> the very early stages of the language were like. This was a highly
> transitional stage; for example, the earlier one anticipates a "long"
> type, but doesn't have struct; the 6-months-later compiler implements
> struct, but reuses long's slot in the type table.
>
> http://www.cs.bell-labs.com/~dmr/primevalC.html
>
> Dennis
>
DECtapes are highly platform specific, and are not covered by ANSI C, which
is the subject of this newsgroup (comp.lang.c). Try a DEC-related
newsgroup.
If you want us to comment on your source code, please post it in the body
of your email.
What was your C question?
--
Richard Heathfield
The bug stops here.
nasaldemon: "Richard, they won't get it. They won't understand. You're
gonna be shot down in flames for this one, big-time."
Richard: "I know. It's one of those do-it-and-damn-the-consequences days."
The person wise was John Carmack himself. In the original Direct3D bashing he did some 5 years ago, he correctly predicted that Microsoft's API would essentially become more like OpenGL in each revision. Obviously he was right.
Yeah, Im tired of MS and their so called "next thing". I've delt with plenty my share of poor technology and its rarely beneficial to embrace anything from Microsoft until its hit Version 4.0, Service Pack 4, or whatever. Once the dust settles, if its really that helpful of a platform (.NET, DX, etc). You'll know.
I don't think anyone has ever pointed it out...from Analyst on Wall street and the US government to software developers....time and time again, Microsoft has beaten its competition by dividing them and than conquering them one at a time...Now it's the game-developers turn... xbox is just the beginning...they'll do with the xbox what they did with windows with one distinct exception...this time they're going after the hardware side of the equation as well. The issue isn't if there is a market in Linux or Mac for making games....The issue is you as developers need to feel obligated to support multiple platforms...unless you the developer take it upon yourself to give choices to your user base, they'll continue to be channeled in to one company's corner! And when you have them in one corner you just limited your own choice...you just gave another company reason to come after you...I wonder if the poor souls at WordPerfect, Apple, Lotus, Aldus...etc...ever saw what hit them in the head! Don't worry cause you wont see it either...
Actually I don't think it was a joke.
Jokes are supposed to be funny, or at least amusing, this post is neither. If he wanted it to be funny he should have used some outragous "Facts," Hyperbole, etc.
Instead I'm left thinking the originator of the post DOESN'T know who JC is, that the guy is a complete dumbazz.
The self admitted fact that you don't know if the replies are jokes simply illustrates the pointlessness of this whole thread. In fact anyone that contributes to this post is a dumbazz...