Will the Lack of DX10 on XP Spur OpenGL Dev?
Sparr0 asks: "Microsoft has announcement that DirectX 10 will not be released for Windows XP (which means no Shader Model 4.0 and no Geometry Shaders). I have since been waiting for news of game developers switching to OpenGL, in order to get the best graphics on the best hardware on the most popular gaming OS, however there is nary a whisper of such. Will such a shift occur, even if only in small amounts? When? Why not? It is probably safe to say that Unreal Tournament 3 (AKA UT2007) will have OpenGL as an option in Windows, but that is both unsurprising and also a long way off. Ditto for Quake Wars, and most other games that are planning a native Linux clients. Where are all of the other big names with Windows-only offerings? Why haven't we heard from Valve, Blizzard, Sony, or EA, to name a few?"
You must be new here :)
In a word, NO.
Unfortunately, most game developers will probably continue writing for DX9.0c until the majority of users are running Vista and have DX10 capable video cards.
The exceptions, as listed in the summary, will be those developers that intend for their games to be cross-platform and run on Linux and OSX as well as Visa.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
XP might be the most popular gaming OS at the moment, but the video cards in most computers with XP are likely going to be upgraded simultaneously with everything else (including the OS -- to Vista). The video cards most folks have in their machines aren't so hardcore that DX10 is very critical. By far most of them don't support it anyway.
Though I may have misunderstood the question...
I like basketball!!1!
DirectX has a LOT more functionality than OpenGL.
Now mayhap the OP is writing about Direct3D... in that case, even DirectX 9.x's version of Direct3d features a LOT more functionality than OpenGL's most recent revision contains.
Anyone else able to confirm this? I'm no developer so I'm fairly ignorant on the matter. However, when someone that goes by MSFanBoi2 says that MS's proprietary product is better than an open standard, I take it with a grain of salt.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
Reeeeeaaallly?
Hmmm... Forgive me if I am just a TAD skeptical about claims of DX's superiority from someone named MSFanBoi2.
Of course, you could be just engaging in a little humorous sock-puppetry and I'm not getting it.
Either way, I was under the distinct impression that OpenGL was and has been MUCH more advanced than Direct X for many years, and DX-10 doesn't really up the ante much.
Official Heretic from the "Church of Global Warming". Proven right thanks to whistle blowers. AGW = Flat Earth Theory
Vista supports OpenGL the same way XP, 2000, etc support it: the MSOGL wrapper.
This is the Internet. You can say "fuck" here. - AC
DX9 should be enough for anybody . . .
Seriously, I doubt that companies like Valve will switch to OpenGL for winxp releases. They already have extensive directx know-how and will probably just build in DX9 and DX10 support just like they currently build in support for DX7, 8 and 9.
In the end, most people will upgrade to vista. Either because they want to or because they need it for a certain program to run or simply because it came pre-installed on their shiny new Dell. It is inevitable.
I think that a lot of what is going to happen out there is going to be like John Carmack said. I think that overall, you are going to see developers stick with DirectX 9 for the time being. I think this is especially true for Windows only games.
The fact is that if you are developing Windows games, why would you support two APIs when you could support a single one and D9 users would just have to deal with not having the latest bells and whistles? And this doesn't even take into account that D3d is now a more advanced API than OpenGL (which has been mentioned already).
RonB
It is human nature to take shortcuts in thinking.
It is my hope that maybe, just maybe, this could spur developers to, instead of focusing on making a visually cutting-edge game using the latest and greatest hardware and APIs, start to focus on trying to make the most fun and innovative possible game using the "previous gen technology", if you will. Not to say that both can't be achieved, but I would say that invariably games tend to focus on one in favor of the other.
Future indie game developer of America (and possibly Canada)
If game developers started moving towards OpenGL Microsoft might release DX10 for XP. They will do anything to prevent something else from gaining a foothold.
Libertarian Leaning Political Discussion Forum.
I will second this since 2 people have questioned MSFanBoi's possible motives. Dx9 is better than OGL. The drivers are better, easier to program, easier to access advanced features.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
Where are all of the other big names with Windows-only offerings? Why haven't we heard from Valve, Blizzard, Sony, or EA
Sorry, but only one is windows only. Last I checked, World of Warcraft, Warcraft 3, and Diablo II run on Mac. And in the case of WC3, the CD has a Mac and windows version on the same CD. Amazon.com tells me that EA's #1 game (The Sims 2) also runs on the Mac. Can anyone tell me a Windows game Sony makes? The only windows software I can think of is SoundForge and their CD DRM, but the latter I don't think I want to work cross-platform;) That leaves Valve, which is run bun a former MS hotshot, so I think that might have something to do with the company's founder preferring Direct3D.
I think many developers are already using OpenGL, but of course, that's only one part of being cross platform. Network, sound, and input also need to be implemented cross-platform....
-- Political fascism requires a Fuhrer.
http://en.wikipedia.org/wiki/OpenGL_vs._Direct3D
1 775.asp
t ml (this one is a bit out of date and only covers OpenGL 1.2 and DirectX 8
http://www.gamedev.net/reference/articles/article
http://www.xmission.com/~legalize/d3d-vs-opengl.h
Most Games DEVs have already mentioned in various places that they intend to handle the situation at least for now with two render paths, one optomized and used for DX10 and one for DX9.
Remember that Vista doesn't automatically confer DX10 either you need a card that supports DX10 and those are VERY new still the installed base is still mostly DX9 cards reguardless of OS. There are still some users running on DX8 cards as well, which are still well supported in many even new games. The Source engine is even compatible back to DX 7.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
Some developers do parallel development in DX9 and OpenGL anyway. Perhaps for increased portability options such as the desire to have an OSX port. You mention Blizzard yet they have already done this. Take Warcraft III for example, the default rendering is of course dx9 but adding the -opengl switch to the command line toggles it over. The game mostly looks the same, although I have to say the fonts look a lot uglier / jagged for some reason. My guess is dx9 must have some sort of font smoothing option that either was not used or perhaps is not present in OpenGL.
As far as input in the windows arena, that area is pretty much fully dominated by DirectX. Even ID Software, who do a lot of work using OpenGL are still using DirectX for DirectInput and DirectSound in win, even if they don't use D3D.
Fear is the mind killer.
More to the point, if you're gaming or doing 3d work, then you're installing the video card manufacturer's driver. Which means you're going to be getting fully accelerated OpenGL, sans wrappers. Yes, even on Vista. The wrappers are just a simple default replacement, in case you don't have proper GL drivers.
I work for a major game studio. Direct X games are far easier and cheaper to develop... it's just not a big question for us in the industry. The only benefit to OpenGL at this point for us is for multi-platform graphics. The mac and linux markets for games are... not considerable vs. the ease of development for DX-based games.
It's more capable. That's all there is to it. We wouldn't screw with it if it wasn't.
I'm not a programmer so don't ask me for implementation specifics in this- I am in production.
Vista has a means to use OpenGL- it only usese MSOGL if no alternative driver is presented.
How many times does it need to be said... SDL and similar open-source cross-platform libraries cover the rest of Direct X that OpenGL does not already cover.
"A truly wise man realizes he knows nothing."
Ok..
So you give one Wikipedia link, and two out of date links regardiunbg 2 generation old versions of OpenGL and DX.
Since Wikipedia is basically worthless as an authoritative source we have to throw that one out right off. The others are completely out of date, and the gamedev link even talks about Windows 95 and DOS games!
C-mon. If you want to back up your argument, at least use up-to-date information and non-wikipedia links.
Note that I'm not saying you are wrong. You may very well be correct that DX is better than OGL. You just aren't making your case very well.
Official Heretic from the "Church of Global Warming". Proven right thanks to whistle blowers. AGW = Flat Earth Theory
OpenGL has outlived it's usefulness for gaming.
It'a tool for programmers, researchers and the CAD industry now.
There's just too many bells and whistles in DX.
The lack of DX10 support for XP will certainly slow the uptake of DX10, however. I bet most development over the next year or two will be in DX9, with a DX10 "bag" hanging off the side.
I don't need no instructions to know how to rock!!!!
And apparently Vista will spur OpenAL adoption, as that's the only way to get around Vista's brain-dead DRM'd audio architecture and get hardware acceleration under Vista. That's straight from Creative's website detailing Vista's new audio architecture's effects and recommendations, btw. (Whatever you may think about Creative, you can't argue with their analysis on this one.)
The cesspool just got a check and balance.
Ok, so based on these (esp the Wiki), there really is no major reason to go with one or the other at this point. Soooo essentially companies will just continue with whatever they had?
An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
DX10 is going to be just like DX9 and DX8 before it. In reality we are mostly concerned with the Direct3D portion of DirectX since the rest is more stagnant. When DX9 libraries and later hardware came out developers simlpy turned on the options now supported or speed up the game. The game would interogate the card to see what features and how well they were supported and went on from there. The same will happen with DX10.
As for OpenGL getting a bump out of this, I doubt developers will suddenly add an OpenGL renderer. They will simply fall back to DX9. Other than a few MS first party games I doubt you will see any games requiring DX10 (Vista) in the next 18 months. Even the ones that do like Halo 2 were designed for a DX8 codepath and P3 733 originally so any machine with a DX9 card and P4 or better could support it. MS is simply restricting it to Vista.
Hoyty
However, as another poster pointed out, these links are pretty dated and do not include the latest OpenGL or DX10. From what I gathered from your links and my own quick and inadequate research is this:
DirectX10 is much easier to write for due to the managed code aspect of
OpenGL is portable and will run on any platform that supports it, which includes the big 3 (Windows, Linux and OSX).
Performance is a push as it depends more on the drivers than the software itself.
Oh, and running either in software mode sux!
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
Actually, there's really not that much difference in fucntionality. Direct3d does allow you to get a little bit intimate with the machine these days, but it's much more complicated to program in. It takes many more lines of code to get an app initialized using Direct3d than it does openGL. You're right to question "MSFanBoi", he gives you links but he doesn't even mention that even Wikipedia is questioning the neutrality of the topic. OpenGL vs. Direct3d debates have been pretty heated lately. Direct3d has gotten alot better then when it first came out, but OpenGl still has some advantages.
I've had experience using both API's and I can tell you that OpenGL is much easier to work with. But I can understand why companies would want to use Direct3d if they need to create a really effeicent graphics engine.
Abaddon: An Xbox 360 Indie game
...but is Microsoft going to have a 360 update in which 360 games can use some of the features that are in DX10?
It seems silly to me Microsoft would come up with something they think will be such a big improvement for games, and yet not try to get the same tech on the 360...or am I just showing my ignorance here...
Living With a Nerd
DirectX 9L (available for both XP and Vista, Aero runs on 9L, not 10) has more better support for the latest graphics hardware and more features than OpenGL.
The Xbox360 platform shares API details with both Windows and DirectX.
Unless you're seeking cross-platform compatibility and don't the latest and greatest feature, sure go for OpenGL.
In other words, Vista doesn't run well on my current hardware, XP does. Will this make me switch to Ubuntu or something? No, it won't.
None of the parent comments said DX was better than OpenGL. They said it was /broader/. OpenGL is a 3D programming framework. DirectX is a collection of frameworks: DirectDraw for 2D, Direct3D for 3D, DirectInput for user input, DirectPlay for networking, etc.
Comparing OpenGL and DirectX is like comparing Abiword (just a word processor) and OpenOffice (a word processor, a spreadsheet, a vector graphics editor, a presentation designer, etc).
Comparing OpenGL to Direct3D is an apples-to-apples comparison. That's usually what people mean when they talk about comparing DX and GL (since it's the only comparison that makes sense). But that's intellectual laziness.
It's always a long day... 86400 doesn't fit into a short.
Most of the hobbyists I talk to tend to agree that, if you want to just put some triangles on screen, OpenGL is easier. If you want to do a complex graphic engine with lots of optimization, then Direct3d is easier.
It also depends on what kind of programming paradigm you're used to. Direct3d is OO. OpenGL is not.
Having done a little of both, I can say the grandparent is correct. Maybe not the way he raves but I would choose DirectX.
A major advantage of DirectX is programmable pixel and vertex shaders. The syntax has cleaned up considerably in the past two or three versions so it's now as easy or easier than OpenGL. Also, if you know DirectX it's nice because then you can use DirectInput and DirectSound which have a similar structure and use the COM model. As an API, it's pretty nice to develop in. Once you get it, I can see not wanting to migrate to OpenGL.
OpenGL is nice because it's portable and it's an open standard. It's also a little leaner then DirectX. With the newer extensions you have most of the functions that DirectX has, but are missing some key ones. It's also a little more obtuse and it's not updated very much anymore.
Both are stable if written right. Both are fast if written right.
This all being said, they are both very complex API's with lots of extensions (OpenGL) and updates (DirectX) so the differences are there and I've just touched on them. Overall the functionality is close but they just differ in the way they do things.
Games are moving to DirectX for a reason in my eyes. It is somewhat better.
It's funny that John Carmack stated pretty much the exact opposite about ease of use and expense to develop with. Of course, in all fairness, that was around the time of DX8. I don't know what his later take is. There were statements made recently (I forget where exactly or I'd reference them) that DX9/10 offered slightly more advanced complex features, but that OpenGL was capable of almost everything the DX clan was. OpenGL has also been moving more slowly on newer features of late, which is a shame and the reason that DX moved ahead on the feature set.
OpenGL is an example of where committee is getting trumped by dictatorship. There's no question of who decides what goes in DX10.
The cesspool just got a check and balance.
The OP mentioned OGL vs Direct 3D
No way. OpenGL and Direct3d are both capable of the same sort of effects. OpenGL is in no way "MUCH more advanced" than Direct3d. Thats just wishful thinking.
*sigh* - don't feed the trolls...
There's pretty much feature parity between Direct3D in DirectX 10 and Open GL. Advanced shaders, advanced extensions - they are all in there. Now you may be looking at an OpenGL driver from a manufacturer who doesn't keep up to the spec, but the NVidia OpenGL implementation can access every part of the hardware that Direct3D does.
Now, DirectX covers keyboard handling, spatial sound management and other stuff beyond the actual display. Other platforms tend to use other libraries (such as libSDL) for this functionality.
Cheers,
Toby Haynes
Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
The developers decide what goes into DX10 by requesting features and having communication with Microsoft. This is not a dictatorship. The vendors decide by communicating and implementing features. DX presents standards to the industry, in many cases.
By that logic, graphics chips are designed by dictators, as well. It's just the reality of consumer products... these things cost money to develop. How is Microsoft's development of Direct X in any way different than the "community" corporate development of OpenGL? In either case it's communication between hardware producers, game developers, and API developers- in one case it's specialized for Windows gaming- and it's done quite well.
If it were an inferior product, we'd just use OGL.
They're more or less the same - although features usually arrive in Direct3D first, then they are introduced later into OpenGL as custom extensions. These are documented in SGI's registry.
Usually each extension will appear as a vendor specific extension GL_NV_xxxx, GL_ATI_xxxx, then become introduced as a standard extension GL_ARB_xxxx.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
The answer is sort of. Ultimately they each have similar capabilities, but for the more advanced features it's just easier to do in DX10. OpenGL takes longer than Direct3d to get any set of features pushed into the base spec, so it tends to lag Direct3D revisions.
One "good" part of OpenGL is that graphics companies don't need to wait for approval to include new features. They can release access to cutting edge features using vendor specific extensions. This was really important in the early days of consumer 3d graphics, and helped spur game development.
Of course this makes programming hard as the extensions are different between vendors and may even vary between different cards in a family (usually they try to just add on). This requires developers to create completely unique rendering paths for each card they want to support to get the best speed/features. Over time though Microsoft's Direct3D caught up with OpenGL and sort of sucked up all the good extensions into their API.
Direct3D 10's advantage is that it puts out a spec and requires all cards fully implement it. Unlike previous versions of DX you can't be DX 10 compatible and leave out features. This really helps eliminate the need for separate rendering paths to make any specific feature work, and so makes development much easier.
So the short of it is they can both do the same stuff, it's just more difficult at the moment with OpenGL.
(Another interesting thing to note is that I have heard rumors that once Direct3d came out Microsoft, who also happens to sit on the OpenGL ARB, slowed down the adoption of some features into the main OpenGL spec. This left them ramping Direct3D at a faster rate.)
The PS3 and the Wii both use OpenGL, as well as every Linux system. The xbox and windows use DirectX. So ANY game that is developed for two of the three consoles can use OpenGL and IS built with it. The fact that the developers use DirectX instead of OpenGL when bringing a game to the PC that they're also developing for console is a choice, not a technical limitation.
And all the big name titles will be cross-platform, you'll find them on at least the xbox and PS3 (if not the Wii). So what's the real reason that we won't see these games on windows using OpenGL? What's the real reason that game makers, who already have a game built in OpenGL, won't port it to linux and expand their user base? Return on Investment might be it for that, but it doesn't explain why they don't use OpenGL on Windows. There is no extra cost there, they already have the game with OpenGL.
even DirectX 9.x's version of Direct3d features a LOT more functionality than OpenGL's most recent revision contains.
EXCEPT GEOMETRY SHADERS, which was the entire point of the OP.
While D3D 10 won't be making its way to XP, I don't believe they've ruled out the possibility of an update to D3D 9 adding the new features. Generally, such big features would be a new version number, but numbering schemes don't have to make sense when the marketting folks get involved. D3D 10 and how it works has much more to do with what functionality takes place where (hardware, kernal drivers, or userspace drivers) than what features are exposed. Its simply not possible to take the D3D 10 API and impliment it on the XP driver model without signifigant performance penalties -- If you push all the (Vista) userspace driver functions into a (XP) kernal driver, the overhead of switching from user-space to kernal-space so frequently will kill performance.
Much of the benefit of D3D 10 stems from the new driver model: fast context switching, minimization of the small batch problem, etc. Mind you, D3D 9 would require some signifigant updates to utilize the geometry shader (particularly because it sits between the current vertex and pixel shader stages. It can't just be tacked onto either end.) but there's nothing, technically, which would proclude the GS stage to be exposed.
If we don't see the new hardware features exposed in a D3D 9 update, it'll simply be because Microsoft didn't see any benefit in performing the extra work it would require of them.
As for spurring OpenGL on XP, I think it will. However, until the ARB (now Khronos) adopt an official extension, developers will have to provide seperate paths for each vendor's specific geometry shader extensions - Presuming AMD/ATI expose it in their GL drivers for their next gen cards.
Since they are owned by MS, they will follow company policy, which means DX10, which also means Vista only. How else is MS going to get all the hardcore gamers out there to upgrade to Vista? I mean, think about it, 10-15% performance hit is not something these people will accept. They tweak and tune and spend hundreds of dollars to get even that last 5fps out of a game. Going to Vista is not on their top of the list of things to do to make their games run faster.
So MS decided that since this was going to be the case (and they knew it early on in the Vista development cycle that there was going to be a large performance decrease), they made DX10 Vista only to force these people to upgrade to a product that they did not want.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
And another big one: DirectX contains pretty much everything you need to write a game. It's got graphics, sound, and input APIs. OpenGL is just a 3d API. DirectX's counterpart in the oss world would more properly be SDL.
True, but DirectX is a *lot* more than just Direct3D & DirectDraw. There are also the DirectSound, DirectMusic, DirectInput and DirectPlay (networking) APIs. That's a whole lot of code you don't need to reproduce.
I'd say it will hurt the popularity of DirectX 10, but not affect the popularity of DirectX 9 at all. Once the installed base of Vista increased in 12-18 months, you might start to see some games out there that really demand DX10.
The road to tyranny has always been paved with claims of necessity.
From a game development point of view, there are distinct differences between OGL and DX.
... BUT if a company i worked for was to code a game, and had enough cash to create an OGL-specific framework, I would use OpenGL. Why? It's quite simple - once you've created the framework to a renderer/game, the code-readability/RAD/speed of OGL and DX are evenly matched... yet OGL is portable.
DX is more than just a graphics library - its a framework for engine development.
OGL is only a graphics library - and it only lets you use the hardware you have (DX has quite a few handy emulation layers).
Unfortunately, OGL doesn't have the kind of supplemental stuff you'd really expect when prototyping or developing a game from scratch - i'm taking about as native format mesh loaders and converters (everything found in d3dx). Interestingly (and frustratingly), many of the d3dx routines aren't perfect and have their odd quirks. Some are plain not reliable, and most rarely return more than a null hDC when things do go wrong (this doesnt help debugging a mesh LOD reduction!)
OGL does support integer and float based indexing, whereas, afaik, DX only supports float.
Both support a wide range of colour formats - as expected.
Personally, the OGL viewports are easier to manipulate.
I find the continual loss of device in DX (through 'apparently' random context switching) annoying. You have to have a fairly large and complex recovery structure/path to commit states back to the gfx hardware.
I would say that OGL is consistent in its API naming, but as-is DX.
OGL is consistent in its interaction with GLSL (the pixel and vertex shader lanauge). I would also say DX is consistent with vertex and pixel shader manipulation too - except considering nVidia's quirky interaction between the sheets after compile (there's some kind of intermediate language and translation going on here, DX tends to break more than OGL - not something i've experienced myself tho).
If I was to code a game now, I would be happier using DX with D3DX, STL, and maybe some boost stuff rather than OGL, because I would have to code less of the engine - less loading/common manipulation routines - thanks to greater library support in DX...
Hths,
Matt
Direct X provides APIs for graphics, sound, network, (controller/joystick/keyboard/mouse) input, etc.
OpenGL is a graphics API.
I can't comment on how Direct3D's functionality compares with OpenGL's, but the OP's first assertion at least is entirely correct; OGL is not a direct replacement for DX in any way.
It's official. Most of you are morons.
False. MSFanBoi2 wrote:
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
Most analysts are predicting windows will lose market share with Vista(cost, drm, etc...), so even if they lose only 5 or 10%, adopting an alternative that could be easily ported between competitor platforms would make a lot of sense(and if the alternative happens to be open standard, than everybody wins).
Let's hope that happens.
More functionality != better.
You wouldn't find an intelligent poster here who wouldn't say that Word and Excel have more functionality than OpenOffice.org.
Does that make them better?
"It does not do to leave a live dragon out of your calculations, if you live near him." - Tolkien
There is no managed interface for DX10, it's a C++ API. Also, you aren't restricting yourself to Windows users only, you are restricting yourself to Windows Vista users only, a much smaller install base.
I write code.
Both APIs allow you to use a high level language to write programmable vertex and fragment shaders (HLSL for Direct3D, GLSL for OpenGL).
I write code.
OpenGl is good because it's multiplatform and runs basically equally well on everything, that was at least, until vista. It isn't bad under vista but it isn't great. How much that can improve via drivers I don't know.
Directx, being windows only and reasonably easy to use has been a good tool for people making windows only apps. WoW being the only major exception, most games are windows apps first, and then, if they're lucky, ported to another OS.
The big selling point of shader model 4.0 is the geometry shader. Directx seems to be first out the door with useful geometry shader development tools, which more or less locks people into having vista for early adoption, at that point, why bother with OpenGl which may not run as well on vista etc... etc...? I'm not writing a D3D path and an OpenGl path in my engines, and nor would anyone else. That and most game developers already know D3D for the above 'it's what we use' reason, adding in geometry shaders is relatively trivial. Not that learning OpenGl is hard, I started with OpenGl and I think overall (largely the multiplatformness) makes it a superior product to DX9. But DX10 does stuff OpenGl 2.0 doesn't yet, and that's a problem. The apparently reduced performance of OpenGl under Vista, if not corrected/correctable is going to be a rather painful blow to any further OpenGl adoption. As much as it's nice to support a broad base, if 90% of my customers are using windows, I'm not going to sacrifice 10% performance for them to pick up that 10% of linux/mac users, since that will disenfranchise much of the windows base, and they'll buy games from someone who optimized for them. Nor do I want to disenfranchise the 10% of my base that uses vista (as compared to 80% using XP) since they're the 'bleeding edge' type people to begin with, and if they have bad things to say about my game compared to others, that's going to be bad in the long run.
In this case it does, though, as you're comparing Shader model 2/3 vs. Shader model 4. It's like comparing 2x 512MB of Corsair Dual Channel DDR2 667 RAM vs 2x 1GB of Corsair Dual Channel DDR2 800 RAM.
It's fairly obvious which one is better.
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
anyone wants to comment about the future (and past) of the sdl games library?
OpenGL is neat and a true standard - but no where near DX feature wise. What I expect is the ongoing XP & Vista lockin / registration / DRM / compliance annoyance MS introduces causing people to look for alternatives and turn to sub-par (compared to DX) OpenGL and work on improving the standard. It's not that OpenGL couldn't do the same thing DX can, it's only that people haven't had a reason in the last few years to do so. Plattforms are getting more diverse performance wise and people need to take a growing range of OSes that users have into account. This will undoubtly get attention back on to OpenGL and it's downsides. Unless, of course, MS licences DX for Mac OS X and Linux. Which would actually be a thing they really could do to turn a profit in a future world where OSS has won. Meanwhile we've got translation libs that turn DX calls into OpenGL stuff (Cedega and such) which is an ok intermediate solution imho.
We suffer more in our imagination than in reality. - Seneca
Way to waste words on a nonsensical analogy when you could have used them to actually support your currently unsubstantiated argument.
And how do you remove all these gaming related libs from supposedly "server" versions of windows? Who's gonna play games on a server? even dedicated game servers wont use the music/video apis.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
It's actually easier to just program for Direct X 9 and add enhancements for Direct X 10 ... infact this is leaps and bounds easier than reprogramming for Open GL. ... infact...
u dont REALLY have to program for Direct X 10 if you want to lets say, Boycott Vista / DX10 , then programming for Direct X 9 will still reach the massive audience ... and Open GL is still a downgrade compared to DX9.
Your trolling right?
DX-10 is like an operating system unto itself. The Direct3D part has memory management and context switching of shaders built in extracting away all the tricky texture and shader management stuff. It's like someone just took all the really painful stuff out of my job. With all the other Sound and I/O stuff built in and usable in a consistent way I just don't think I could bring myself to go back to OpenGL. Well, I would if I had to, but I would like to have my 30 seconds of protest before I go back to slaving away at the code.
Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
I've used both. They have *about* equal features, but DirectX is more in line with how I like things. OpenGL is very easy to setup, but you have to manage things a lot more yourself. If you're okay with handling everything yourself, go with it. DirectX is relatively hard to setup and easier to use than OpenGL once everything is setup. I prefer things to be "front heavy," where they've got a lot to setup, but it's much easier later on.
Wheel in the sky keeps on turnin'.
After you build an engine, how much work does it take to keep said engine relevant? Specifically, how much work must be done with the underlying graphics API?
It seems to me like it might be a good investment to create a good, solid, cross-platform engine (using OpenGL), and maintain that indefinitely. It may be harder to create initially, but I imagine it would not be significantly harder to maintain in the long run.
Don't thank God, thank a doctor!
Important question: "Do games/applications really need all this?"
To me it often looks like Intel in 486/Pentium times: Intel was investing heavily in different CPU intensive applications as to spur processor sales.
Now M$/nVidia/ATI are making run for DX10/DX11/DX12/etc - but the question is why they need all the new crap if Doom3 runs fine even with (very old) OpenGL 1.3??? Beats me.
All hope abandon ye who enter here.
I think the word you're looking for is "abstracting". If so, what's stopping you from abstracting similarly on top of OpenGL?
(Sound and I/O is another problem, for another library. SDL isn't great, but it's there, and OpenAL is looking better and better.)
Don't thank God, thank a doctor!
That's what I'm actually doing when I'm writing a sound-graphics-controls engine. I'm abstracting away the hardware. It's a lot of work involving lots of little tricks that have the potential to go seriously wrong on edge cases. You have to try DX-10 to know what it's like.
Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
I stopped reading there, as this is completely backwards.
Since there is a managed extension to DX9 and the fact that Microsoft is pushing managed code pretty hard, I think it is only a question of time.
(Another interesting thing to note is that I have heard rumors that once Direct3d came out Microsoft, who also happens to sit on the OpenGL ARB, slowed down the adoption of some features into the main OpenGL spec. This left them ramping Direct3D at a faster rate.)
Not to mention the whole Farenheit boondoggle, which in retrospect looks suspiciously like microsoft playing their usual game of slowing down and screwing up competitors by pretending to cooperate with them (but really putting their effort into a microsoft-only solution).
SGI was breathtakingly clueless to play along, of course (and then there's SGI's disasterous flirtation with NT... how many times has microsoft screwed over SGI??).
We live, as we dream -- alone....
You mean D3D is for crap like games I guess. If you develop appliactions and systems that have a real development lifecycle you want OpenGL. It's clear OpenGL is superior for forwards / backwards compatibility -- also cross platform support is a nice bonus. Not to mention embedded systems. The F22 uses OpenGL and not D3D for a reason. Also it's a bitch to refactor a large 3d modeler or CAD system every forced DX release/OS bundle. Think about that. ;)
D3D is a very tiny share of the 3d market even considering console games on Xbox and Xbox 360, since all other consoles released recently support OpenGL implementations. There was a fun OpenGL partial implementation ( pre ES ) for Playstation 2 that was functional enough for many types of games even with the aging hardware. It's moot to compare D3D and OpenGL -- OpenGL will continue to gain more product support as D3D loses more installed platforms. It's just the nature of the platforms involved and services users demand. Microsoft will only continue to lose home computer market share from here on out, and even then that platform is also supporting OpenGL. You have 2 platforms for D3D now that Xbox is retired... OpenGL plays nicer with the new mainstreaming of the multiprocessor development model... it would be a good time to start learning more about OpenGL.
Oh, you're not stuck, you're just unable to let go of the onion rings.
It seems like OpenGL is still the API of choice for content creation software like Maya and Direct3D is more popular for games. There is overlap of course, but in general it's true for the Windows platform. :D
Now that I think of it, 3D game assets are often created with OpenGL software like Maya, and the final game product is done with DirectX.
I'm a developer and I can safely say that Direct3D and Direct3D offer very similar functionality.
OpenGL is nicer, Direct3D is a bit more in direct contact with the hardware. Performance on a modern graphics card is also very similar (as it should be, it's not like they're really doing anything differently).
The main reason Direct3D is used more for games is that Microsoft goes around inviting game company bosses to lunch whereas OpenGL is a committee.
As pointed out, "DirectX" covers a lot more ground - sound, joystick input, etc. but you can easily use OpenGL for the graphics and DirectSound for the sound (I do it every day).
To answer the main question: "Will OpenGL start to replace Direct3D..."? I don't think so. I think most Direct3D9 users will go right on using Direct3D9 - there's nothing actually wrong with it.
No sig today...
I specifically did not want to "upgrade" to Vista any time soon. Previously Microsoft had indicated DX10 support on XP, so I did not buy Vista, and I didn't get a good video card because I figured I had to upgrade to a DX10 video card shortly. But now it turns out that I have to buy a new card anyway, and if I get a DX10 card and want to use DX10, I'll actually have to get Vista.
I've never been a big Microsoft hater... for example, when they stopped suppporting Windows 95, Windows 2000, and so on previously I thought they were well-timed. But I do not think this is particularly a good decision. Will it spur more people to upgrade to Vista? Maybe, but I think there will be a lot of pressure on game developers to develop primarily DX9 games, with maybe some extra DX10 options. But the subset of even high-end gamers who have both Vista AND a DX10 graphics card is going to be the minority for the next few years.
Well I hope its easier to use. That will signifigantly reduce the amount of *extra* work you'll have to do, after writing the directx9 render path anyway that you'll need if you expect the game to sell. I'd expect the marketing boys won't let the old render path disappear until vista has a pretty serious adoption percentage among users. No one knows when that will be, but given the rate of things there's no reason to think it'll be any faster then XP's adoption...and it'll probably be slower.
A lot of smaller companies seem to have abandoned an optional OpenGL renderer the past few years, focusing solely on directx since its the defacto standard. I can only assume they did this because the cost of grabbing those few people that prefered that OGL renderer was not worth the extra time/cost. Without a directX10 for XP though, Microsoft has basically cut the market again...with much more definated lines this time. If you're looking to cut costs by not doing extra renderers, OpenGL is the only man in town now.
DirectX10 may well be much easier to work with, but since its no longer a simple matter of including the latest directx redistributable on your game CD for your customers to load with the installer...your target demographic has just been cut. Time will tell if the people behind OpenGL take advantage of this void or not. We live in interesting times!
I'm not writing a game engine. God I wish. I'm working on a proprietry product using COTS (commercial off the shelf) parts. The OS and hardware are completely controlled, as will be the user interface harware. It's a very heavy data exploration system with warning sounds and fine user controls. Sometimes computers have to be used for very serious applications not just games and posting tunnel vision opinions on slashdot. Operating theatre software, mining drill control systems, and military navigation systems all require pretty advanced stuff these days. Games aren't safety critical, they're hardly even cost critical except for getting a bad reputation. 10 years ago this was all done on million dollar SGI hardware. Times have changed a lot. Anything that cuts down the possibility of errors is a boon.
Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
All those points may well be quite valid for those applications. However, would you say that those applications would be the primary usage of directX10...or would it be those much less critical games? While times may have changed, I find it hard to believe that the primary usage for directX10 is going to be operating theatre software or mining drill control systems.
As for my "tunnel vision opinions"...the topic and summary is about OpenGL and DirectX10 adoption, with the summary focusing on game developers. Additionally, most responses appear to focus on game development. Forgive me for focusing on the topic of this discussion, instead of the topic of your previously unrevealed specialty work. I should not have assumed you to be a game developer, and for that I apologize. However, given the context of the discussion it wasn't really some kind of far flung idea. Regardless, I wasn't looking to refute your points about whether directX10 was or was not easy to develop on in any capacity. I was simply pointing out that, for games at least, it likely isn't reducing the development workload on marketable titles at all. At least, not until vista becomes a majority of the installed base.
This situation exemplifies the reality of using Microsoft tools for any kind of development, not just 3D graphics. Use Microsoft dev tools, face vendor lock-in, non-portability, and rewriting your code every couple of years when they release a new iteration of their products and deprecate the old APIs.
I wrote some free Windows screensavers ( available at http://www.mounthamill.com/ ) using GNU dev tools (gcc, make, cygwin) and OpenGL. They work great on Windows XP and 2000. I can even build and run them on Linux although haven't made the effort to deploy them as Linux screensavers.
From my experience, any game developer could use OpenGL and free/open source tools to develop code. There is no graphics effect you can do in DirectX than you cannot do in OpenGL. A few specialized effects may be slightly easier to implement in DirectX. OpenGL is easier to use, in general. If you go with DirectX, you will be required to build a more complex engine to deal with differences between different Windows versions. You also will be required to shell out thousands of bucks to buy MS Visual Studio and associated dev tools (not to mention the cost of Windows itself.) Total investment to build a 3D graphics application using OpenGL and GNU tools, $0. Difference to users, none.
I assume all the developers who did choose the MS tools either had business motivations to be aligned with MS, or were targeting the X-Box and thus mandatory usage of DirectX. MS buys the companies that publish the most popular games (e.g. Blizzard, Bungie), forcing them to use the MS dev tools. If that's not sufficient evidence that the MS tools would lose in a fair competition, what is?
- Spike
Free Windows screensavers http://www.mounthamill.com/
In an era with gadgets/portables everywhere many of these platforms support some form of OpenGL, or have an API very similar to it. Those include:
-Cell phones/PDA
-Wii/Nintendo DS/Playstation 3
-etc. And more popular devices I cannot say because I am under NDA.
And did you know OpenGL ES Shading language will be supported on mobile devices such as high end phones soon? I am not aware DirectX's high level shading language receiving wide adoption from device manufacturers, if any, on the mobile platforms. In fact, very few will support DirectX.
On the technical side, both OGL/DX are good as proven by the top games which are powered by them respectively. My only let down on the OpenGL side is the lack of an FX format, though that is being worked on from Khronos, along with other encouraging prospects. And by itself it is not essential.
Overall I choose OpenGL because I don't want to put all eggs in the 'directx basket'. Moreover, employment prospects (games and 3D applications) may be better due to OGL's wide adoption. I would be willing to go into scientific visualization, for example, rather than games currently.
"Now mayhap the OP is writing about Direct3D... in that case, even DirectX 9.x's version of Direct3d features a LOT more functionality than OpenGL's most recent revision contains."
Depends on what you mean by "most recent revision", and also depends on "functionality". If you include vendor-specific extensions, then OpenGL exposes more hardware functionality than Direct3D9- effectively allowing one to use the geometry shader without resorting to vista. If by "functionality" you mean software, direct3D includes tools to help with scene management, loading models, animation, etc. OpenGL just provides a simpler hardware interface for fast 2D/3D rendering and leaves much of the tiny details
They have different goals, so it's really difficult to compare the two. The performance differences are negligible IMO- both are equally capable in the hands of experienced, knowledgeable developers.
Sigs are for losers
WHO NEEDS SHIFT WHEN YOU HAVE CAPSLOCK/ DAMN1
Your right, there would be an incredible amount of uncertainty for game developers if they were developing in just DirectX 10. If I were them I would certainly want to keep a DirectX 9, and maybe an OpenGL like path at the ready just in case. With consoles becoming so popular of late I'm wondering if games on the PC are going to become a bit of a niche market in the future. Even we are toying with the idea of using a PS3 for some stuff. There are other issues though with that. It wouldn't suprise me too much if in 2008 MS brought out an Office Suite for the XBox 360 "Home Appliance Version" or whatever, bundled with a wireless keyboard and mouse. Wouldn't that throw a spanner in works! It would certainly send a shiver through the PC industry.
No need to apologise, your assumptions were fair, and I was being antagonistic. A habit I've developed from spending half my time at work trying to stop bone headed ideas from getting too far, then trying to cool off by posting on slashdot. Probably isn't the best strategy for coping with stress. Have a good weekend.
Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
Direct3D is probably more advanced but OpenGL is better based purely on portability. I don't care if my graphics look better or it is "easier" to program in Direct3D.
I want a bigger customer base, I want MORE customers and I want MORE MONEY.
This isn't 1995 with its "Sorry please download IE to view this page" BS. This is 2007!! Get with the program! Portability, interoperability and what operating system the customer wants to run your programs on is important.
We already use c++ for the majority of games why vendor lock it with a Microsoft only libraries?
The last thing I want is "Your game looks awesome but I won't buy it because it doesn't run on my system.."
ACK!!!
Despite my love for PC games above all others, I think its a real possibility that PC Gaming will be, at least to some extent, pushed into a niche. Fewer and fewer games really stretch their legs on the PC these days, being developed as a console title first and a PC port second. I can't blame the developers either, its where the money is.
I've sort of wondered about the same thing witht he 360. Is MS looking to sell its own computer appliance in the future? I have to wonder about their business model here, it seems like they would just be stealing sales from themselves. And in fact, I'd argue they've been doing just that with the xbox and now the 360. So far, they seem to have resisted KB/M support on their consoles. But as they continue to tie the xbox360 and PC together, they eat away at the PCs viability as a platform. If they have the same games and the same interface (live!) and MS gives in the KB/M...why would anyone game on a PC? And while games are hardly the only draw to windows, how many people have you heard say "I'd switch to linux if there games on it."
I wonder how the big box makers would respond to this if it does happen?