Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Graphics Software

A Glimpse Into 3D future: DirectX Next Preview 222

Dave Baumann writes "Beyond3D has put up an article based on Microsoft's games developers presentations given at Meltdown, looking at the future directions of MS's next generation DirectX - currently titled "DirectX Next" (DX10). With Pixel Shaders 2.0 and 3.0 already a part of DirectX9 this article gives a feel of what to expect from PS/VS4.0 and other DirectX features hardware developers will be expected to deliver with the likes of R500 and NV50."
This discussion has been archived. No new comments can be posted.

A Glimpse Into 3D future: DirectX Next Preview

Comments Filter:
  • It would be nice (Score:3, Interesting)

    by Pingular ( 670773 ) on Sunday December 07, 2003 @11:18AM (#7653284)
    If they could somehow program Dx10 so it was backwards compatiable with cards now (such as radeon 9800 etc), if I'd bought such a card I'd be quite annoyed if there wasn't decent support for it in the future.
  • by Anonymous Coward on Sunday December 07, 2003 @11:21AM (#7653296)
    At this point DirectX is years ahead of OpenGL
  • Overkill? (Score:2, Interesting)

    by zachusaf ( 540628 ) <zachary.thompson@gmai l . com> on Sunday December 07, 2003 @11:23AM (#7653299) Homepage
    With few, if any, games fully supporting DX9, is DX10 a bit of overkill? I'm all for the advancment of technology, but it looks like the cart is coming before the horse, and dragging the horse with it.
  • Horse, THEN Cart (Score:2, Interesting)

    by Gothmolly ( 148874 ) on Sunday December 07, 2003 @11:37AM (#7653365)
    Doesn't this logic seem backwards?
    With Pixel Shaders 2.0 and 3.0 already a part of DirectX9 this article gives a feel of what to expect from PS/VS4.0 and other DirectX features hardware developers will be expected to deliver with the likes of R500 and NV50.

    Shouldn't hardware vendors develop processing capability, then the software vendors implement the OS support? Or maybe I'm sensitive to the Evil Empire trying to dictate other computing advances through its 'embrace and extend' philosophy.

    Compare this to CPU design, however - Microsoft doesn't dictate to Intel what extensions to add onto x86. Or do they? (puts on tinfoil hat)
  • Re:Who cares? (Score:5, Interesting)

    by Glock27 ( 446276 ) on Sunday December 07, 2003 @11:54AM (#7653425)
    cross platform is the best way to go with game development? hah! maybe on consoles, but with the staggering price of game development now-days its almost too risky to do cross-platform development.

    IMO, yes cross-platform is the way to go. If you use the right engine (Torque for instance), you get it for free, less the occasional support call. ;-)

    Look at some of the top games that have been cross-platform:

    • All id games
    • Baldur's Gate Series
    • Warcraft Series
    • Diablo Series
    • Sims Series
    • You Don't Know Jack Series
    • Age of Empires
    • Starcraft
    • Everquest
    • 3-D Ultra Pinball: Thrillride
    • Microsoft Close Combat 2.0: A Bridge Too Far
    • Monopoly
    • Terminus
    • and many more...

    See any successful games there? ;-) And even Microsoft is smart enough to do it, while trying to lock everyone else into Windows/DirectX. Pretty funny, actually...

    so how are they going to feel developing for an os unproven in game development with users who are used to getting everything for free? (dont worry, i love linux, but i just dont think we should lie to ourselves)

    If they get the port essentially for free, and provide it as an "unsupported" extra, they will get a ton of good press on Usenet, the web and so on, from alpha geeks. Look at the reception Baldur's Gate games get here on Slashdot. That's worth it right there! :-)

  • by gspr ( 602968 ) on Sunday December 07, 2003 @12:11PM (#7653487)
    Notice how some words, such as "OSs", are underlined by the spellchecker in the pictures. Are they too lazy to remove those?
  • Re:Version mania (Score:2, Interesting)

    by sithlord2 ( 261932 ) on Sunday December 07, 2003 @01:37PM (#7654003)


    DirectX is COM-based, so it remains backwards-compatible. COM specifies that new versions of a COM component should support the older interfaces. Besides, the only time I remember that there was a drastic change in DirectX's architecture, was when they switched from DX7 to DX8 when DirectDraw en Direct3D where merged into DirectGraphics. Besides, even then you could still use the older interfaces if you wanted to.

  • by Anonymous Coward on Sunday December 07, 2003 @02:00PM (#7654149)
    There is an interesting comparison article on www.gamedev.net. Basically, I use opengl because it seemed to be the easiest to set up, and I knew other hobbyists that used it. It seems that it would also be a sensible idea to get the hang of Direct X as well if you are aiming for any sort of career. Almost all features of direct x are supported in opengl through extensions. Check out that site, it's useful :)
  • Re:Version mania (Score:3, Interesting)

    by DeadMeat (TM) ( 233768 ) on Sunday December 07, 2003 @03:12PM (#7654536) Homepage
    However, your comment makes no sense. All games written for one version of DirectX should work in the later versions. Otherwise you'd have games failing left right and centre and people on here bitching about how they can't update DirectX without killing their favourite game.
    (Disclaimer: I have written code for DirectX, but not since DirectX 7.)

    Actually, you do get problems like this to a degree. When you want to get a DirectX interface, you have to go through COM+. COM+ requires that library developers (read: the DirectX dev team) tag each version of their interfaces with a unique ID, and each time a new version of their library changes an interface, it's required to return the older interface if a program asks for it. The upshot of this is, if a game asks for a DirectX n object, then DirectX n+1 has to be able to accomodate it.

    So, in theory, DirectX is backwards-compatible. In practice, DirectX versions sometimes maintain the same interface but make slight changes to functionality that break older games (especially ones that have code to work around DirectX bugs that Microsoft later fixes). I know there have been a good number of games that crash or otherwise act weird when you upgrade DirectX past a certain version, but the only one I can think of off the top of my head is WarBirds (which they later fixed through a patch).

    Admittedly, this doesn't happen much anymore (WarBirds was a few years ago), but it does happen.

  • by T-Ranger ( 10520 ) <jeffw@cheMENCKENbucto.ns.ca minus author> on Sunday December 07, 2003 @03:36PM (#7654651) Homepage
    In theroy, yes. On a purely technological decision making, its not all that hard to develope cross platform apps, even apps that use bleeding edge features like games.

    But there is more then just a technological cost to bring games to market. There is the marketing, QA, tech support, packaging, distribution, etc, etc, etc, of bringing games to additional markets. And even if it was just money, (most?) game companies are fairly small outfits; the 'distraction' of other markets might be too much for overworked staff, everyone from the CEO down to coders.

    While I dont think the 'Loki experiement' was fair: its clearly easier to port to other OS if you do it from day 1, not from the release date. Basicly only ID Software developes games that have a design goal of being cross platform. But the ID Software people all have more money then they can spend, there decisions are not purely business ones, and others who should/could be using ID as a prescidence know that. It would take time, money, and (perhaps most importantly) effort, to develop games for what is still unproven markets.

    Since it hasent been pointed out yet, its not a OpenGL v DirectX question. DirectX is not just a 3d graphics library; it does many, many other things. While there are many OSS projects to bring the same type of libs to linux (and other !MS OSs), some sponsored by now dead Loki, DirectX is the most compleate set of libs... And while I havent coded it either OpenGL (and friends) or DirectX, Im suspect, since DirectX comes from a single source, as a whole it is more cohesive and unified then OpenGL + friends... Which isnt to say that any given DirectX component is better then alternatives, but as a package DirectX is almost definitly better then the (not existant) OSS package.

  • Comment removed (Score:2, Interesting)

    by account_deleted ( 4530225 ) on Sunday December 07, 2003 @03:50PM (#7654725)
    Comment removed based on user account deletion
  • Re:Version mania (Score:3, Interesting)

    by Keeper ( 56691 ) on Sunday December 07, 2003 @05:39PM (#7655284)
    You use DirectX through COM.

    COM+ was a horrible idea based around building/managing an application by dragging & grouping COM+ components some funky control panel/application dohicky. COM+ was built on top of COM. Most people like to forget that it ever existed.

    The rest of what you say is essentially correct, though not technically. All COM interfaces are required to have a unique identifier associated with them (called a GUID), not just interfaces you want to have different versions of. Normally in COM, when you want to get/create an object you call CoCreateInstance (or a variation of it) and pass in GUID of the object you wish to retrieve. You don't do this with DirectX -- the SDK has a method for each version of DirectX you can call to retrieve the correct Interface.

    So in DirectX 9, you'll want a pointer to an IDirect3D9 interface, which you'll get by calling Direct3DCreate9(D3D_SDK_VERSION). D3D_SDK_VERSION is a constant defined in one of the DirectX SDK headers representing the version of the SDK used to build the binary in question; it is NOT the version of the interface you want (this ensures that you have the right headers associated with the libraries you're linking with). All of the IDirect3D9 method return "9" interfaces (ex: IDirect3DDevice9).

    Technically, COM doesn't require that you use different names for different interfaces (as long as they have unique guids), but in practice it makes things MUCH less confusing to do so. In the case of DirectX, it also means you don't have to do anythink funky with namespaces (because the sdk would include items from previous versions, which would have the name name but be different objects...).

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

Working...