Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Graphics Software Entertainment Games

Will the Lack of DX10 on XP Spur OpenGL Dev? 168

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?"
This discussion has been archived. No new comments can be posted.

Will the Lack of DX10 on XP Spur OpenGL Dev?

Comments Filter:
  • by MSFanBoi2 ( 930319 ) on Thursday March 22, 2007 @02:04PM (#18446657)
    http://en.wikipedia.org/wiki/OpenGL_vs._Direct3D [wikipedia.org]

    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
  • by dreamchaser ( 49529 ) on Thursday March 22, 2007 @02:06PM (#18446701) Homepage Journal
    That's a silly comment. It's not a matter of being shy about it. When barely anyone can run your product, nobody will buy it. Once there is a large enough mass of Vista users then you'll see games start to ditch DX 9 codepaths.

    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 :)
  • by ifrag ( 984323 ) on Thursday March 22, 2007 @02:07PM (#18446731)
    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.
  • Re:No solution (Score:4, Informative)

    by Rycross ( 836649 ) on Thursday March 22, 2007 @02:11PM (#18446799)
    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.
  • Re:Nope. (Score:5, Informative)

    by ad0gg ( 594412 ) on Thursday March 22, 2007 @02:24PM (#18447047)
    DX9.0L also called DX9EX is going to support the new Shader 4.0, aero transparency and other dx10 features. It just doesn't have WDDM which isn't a direct3d feature.

    DirectX info [wikipedia.org]
    WDDM [wikipedia.org]

  • by Cornflake917 ( 515940 ) on Thursday March 22, 2007 @02:27PM (#18447129) Homepage
    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.
  • by GreggBz ( 777373 ) on Thursday March 22, 2007 @02:32PM (#18447253) Homepage
    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.
  • by Jthon ( 595383 ) on Thursday March 22, 2007 @02:54PM (#18447711)
    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.)
  • by QX-Mat ( 460729 ) on Thursday March 22, 2007 @03:41PM (#18448449)
    From a game development point of view, there are distinct differences between OGL and DX.

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

      Hths,
    Matt
  • Console ports (Score:4, Informative)

    by tepples ( 727027 ) <tepplesNO@SPAMgmail.com> on Thursday March 22, 2007 @03:47PM (#18448547) Homepage Journal

    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
    Microsoft Windows, Mac OS X, and */Linux are not the only gaming platforms. If your game studio is actually major, then someone might want to consider set-top or handheld platforms. The graphics APIs of DS, PSP, Wii, and PLAYSTATION 3 closely resemble OpenGL.
  • by Atroxodisse ( 307053 ) on Thursday March 22, 2007 @03:58PM (#18448697) Homepage
    There was a rumor back in January that MS was going to buy Vivendi games, who own Blizzard, but it was only a rumor. There is no mention of the acquisition on Blizzard's or Vivendi's corporate pages. Multiple articles that reported the acquisition have been deleted from various news outlets. It was in fact a hoax. http://www.microsoft.com/presspass/press/2003/Feb0 3/02-03HoaxWebsitePR.mspx [microsoft.com]
  • by jra101 ( 95423 ) on Thursday March 22, 2007 @04:30PM (#18449233)

    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.

    Both APIs allow you to use a high level language to write programmable vertex and fragment shaders (HLSL for Direct3D, GLSL for OpenGL).
  • by Ant P. ( 974313 ) on Thursday March 22, 2007 @09:32PM (#18453121)

    OGL is only a graphics library - and it only lets you use the hardware you have (DX has quite a few handy emulation layers).

    I stopped reading there, as this is completely backwards.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...