Slashdot Log In
Will the Lack of DX10 on XP Spur OpenGL Dev?
Posted by
Cliff
on Thu Mar 22, 2007 01:45 PM
from the microsoft-likely-to-release-dx10-on-XP-first dept.
from the microsoft-likely-to-release-dx10-on-XP-first dept.
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?"
Related Stories
[+]
Games: Vista Not Playing Nice With FPS Games 437 comments
PetManimal writes "Computerworld is reporting that gamers who have installed Vista are reporting problems with first person-shooter titles such as CounterStrike, Half-Life 2, Doom 3. and F.E.A.R. (Users have compiled lists of games with Vista issues.) The complaints, which have turned up on gamers' forums, cite crashes and low frame rates. Not surprisingly, the problems relate to graphics hardware and software: 'Experts blame still-flaky software drivers, Vista's complexity, and a dearth of new video cards optimized for Vista's new rendering technology, DirectX 10. That's despite promises from Microsoft that Vista is backwards-compatible with XP's graphic engine, DirectX 9, and that it will support existing games. Meanwhile, games written to take advantage of DirectX 10 have been slow to emerge. And one Nvidia executive predicts that gamers may not routinely see games optimized for DirectX 10 until mid-2008.'"
[+]
Games: Valve To Support DX10 With Episode 2 96 comments
In an interview with Game Informer from last week, representatives from Valve confirmed that they'll be supporting DirectX 10 functionality in the release of Half-Life 2: Episode 2 and Team Fortress 2. This will be the case even for those folks who haven't upgraded to Vista yet. No worries if you don't have a DX10 card, though. They've got functionality nailed all the way back to DirectX 8, and are trying to push it all the way back to 7.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Seriously? (Score:2)
Will the Lack of DX10 on XP Spur OpenGL Dev? (Score:4, Insightful)
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.
Re: (Score:3, Informative)
Sheesh, a lot of titles shipping today still have DX 8 codepaths and look pretty damn good on DX 8 hardware.
Pass me that pipe you're smoking
Hardware an issue? (Score:2)
Though I may have misunderstood the question...
DX9 (Score:3, Interesting)
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.
Nope. (Score:5, Insightful)
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
Re:Nope. (Score:5, Informative)
DirectX info [wikipedia.org]
WDDM [wikipedia.org]
Parent
Re: (Score:3, Interesting)
I have experience porting our companiy's graphics engine (the OpenGL part of it) to the Wii, and it's not trivial.
well (Score:4, Insightful)
Blizzard/EA do use cross-platform games (Score:4, Interesting)
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....
Re: (Score:3, Interesting)
However, since EA writes games for Nintendo, Sony, and Microsoft consoles, I suspect they are familiar with both OpenGL and Direct X.
Re:How many times does it need to be said... (Score:4, Insightful)
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.
Parent
Console ports (Score:4, Informative)
Parent
Re: (Score:3, Insightful)
EXCEPT GEOMETRY SHADERS, which was the entire point of the OP.
Re: (Score:3, Informative)
http://www.gamedev.net/reference/articles/article1 775.asp [gamedev.net]
http://www.xmission.com/~legalize/d3d-vs-opengl.ht ml [xmission.com] (this one is a bit out of date and only covers OpenGL 1.2 and DirectX 8
Re:How many times does it need to be said... (Score:5, Insightful)
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.
Parent
Re:How many times does it need to be said... (Score:5, Informative)
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.
Parent
Re: (Score:3, Interesting)
It also depends on what kind of programming paradigm you're used to. Direct3d is OO. OpenGL is not.
Re:How many times does it need to be said... (Score:5, Informative)
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.
Parent
Re: (Score:3, Informative)
Both APIs allow you to use a high level language to write programmable vertex and fragment shaders (HLSL for Direct3D, GLSL for OpenGL).
Re:How many times does it need to be said... (Score:5, Informative)
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.)
Parent
Re:How many times does it need to be said... (Score:4, Informative)
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
Parent
Re: (Score:3, Informative)
I stopped reading there, as this is completely backwards.
Re:No solution (Score:4, Informative)
Parent
OpenAL (Score:5, Interesting)
Parent