DirectX 10 & the Future of Gaming
Homogeneous Cow writes "Brent Justice at [H] Enthusiast has put together a quick look at what DX10 has to offer gamers and what the main differences are between that and our current DX9. Unified Architecture and Small Batch Problems are shown to be addressed. There are a lot of ATI slides supporting the text as well." From the article: "The obvious question for the gamer that arises is, 'Will this terribly expensive and arduous upgrade path positively impact my gaming experience enough to justify the cost?' That has yet to be seen and can only be answered with the games we have yet to play. We can however discuss some of capabilities of DirectX 10 with a unified architecture and how it can potentially benefit gamers."
Hey! Look! We've found it! We've found the reason to upgrade to Vista!
Well, how else could you sell that DRM system? It happened quite the way I (and many others, I'm sure) expected it: No support for older systems if you want to use some features, so you HAVE to upgrade if you want them.
I'm also quite sure that a lot of game studios will support DX-X and nothing else, so if you want to play Halflife 3 and Duke Nu... (ok, no lame jokes, I promised), you have to get Vista.
I guess it's time to get used to some retro-gaming...
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Essentially, any game requiring DX10 support will screw itself out of an audience. A lot of people are not about to sacrifice a working XP install just to get some new game.
Especially if it means that losing 50% of multimedia functionality due to mandatory Digital Restrictions Management being enforced at the OS level.
Upon skimming over the article this question popped into my head. Of the disadvantages of DX9 that DX10 is supposed to fix [such as the small batch problem and the fixed pipeline shader architecture], does OpenGL have those same disadvantages and if so, what is being done about them? Are those disadvantages present in both Windows and Linux/OSX etc?
:)
Is it even possible to fix that kind of issue without having your API written into the OS/Kernel?
This inquiring mind wants to know!
Nothing to see here
OK, I'm going to take another whack at a dead horse. I don't know that "immersion" comes from thousands of unique trees in a rendered forest. Honestly, I don't know where it comes from. I think it may come partly from the player _wanting_ to be immersed.
Here comes the "back in my day" part. I remember sitting in the computer lab in college in '93 or so, and seeing guys literally jump backwards and rip the headphones off their heads while playing Doom. I did it myself a time or two. That seems pretty immersive
Immersion at 320x200 with sprites that looked the same no matter what angle they are veiwed from comes from somewhere, and I hope that game devs can continue to tap that. I guess the good/great ones do, and the rest just make every chair in the game unique and hope that's enough.
There are 01 kinds of cars in the world. The General Lee, and everything else.
What makes me think that game studios will try to push for DX10 is quite simple. DX10->Vista->DRM. And the still floating idea that making a game impossible to copy means more copies sold. I'm actually quite sure that we'll soon see games that ONLY work with DX10, for the "improved graphics". Now, as far as I can tell, an engine written for 10 won't run on 9. So a studio would have to make SERIOUS adaptations (and invest a lot more time) to make a game run on 9 when their primary target audience is 10. And they want it to run primarily on 10.
About the "have to". Yes, nobody "has to" run DX10. Unfortunately, people don't just want their PC to sit there and look pretty. Now, it's no secret that a lot of today's PCs are sold as game machines. Look at the numbers of GFX-cards sold and tell me it ain't so. You don't need a X1900 to run office products (well, not yet, this might change with Vista and its stunning 3D GUI). Still, a good number of PCs sold today come with graphics cards that cost more than 40% of the rest of the system. So yes, people will "have to" upgrade. If they want to play the games, then yes, there's no option.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
I don't see the major game publishers producing DX10 based games for awhile, not until market penetration for Vista is pretty deep. Basically your adding the cost of the Vista OS to your game, which is the same or more cost of a physical console gaming unit. I imagine DX9 will be around for a long, long, long time.
I haven't actually purchased a Windows disc since 98 SE, and I don't plan on ever having purchase one again. Yet I type this out on Windows XP, an operating system where if I want updates I need to "verify" my copy. Oh wait! 30 seconds on Google and a 500kb download, problem solved.
On to Vista...
Better copy protection at the install level? Perhaps I'll need to "dial in" to Richmond and get a "unique" key. That will take the crackers maybe a few days to get around at the most.
DRM at the OS level you say? I'm sure it will be easily fixed and either removed, or tricked into thinking every file on your drive has been purchased from the concentration camp that is a Windows Media Audio music store.
Is it sad that we will have to go to these measures to get a usable OS just to play games? Yes. But the fact that it will be done (kind of a great challenge for the cracking community) means we don't have to spend a bunch of time spreading FUD about how Vista will take over our systems and make us cry.
Batches are necessary, they are right about that. Without batching, you can never use the graphics hardware optimally. Many games are CPU-bound because they issue too many API commands, for example, if there are 5000 visible trees, then you have to send 5000 drawcalls. It gets worse if one mesh has multiple materials, for example a tree with a material for the trunk, another for the leaves etc. In this case, you can only group the geometry with the same material together. Instancing helps reducing the overhead for rendering geometry with the *same* material, but if your game level has 47 materials, all of them visible, you have to render all of them separately. DX10 helps by introducing texture arrays and constant buffers, which means that you can stuff all your textures into one array adressable without issuing commands, same for constants (like, color or specular exponent). In the end, you just issue ONE drawcall, and the mesh gets drawn, with its multiple materials.
Mind you, display lists could be an OpenGL equivalent, but usually aren't (performance-wise).
This sig does not contain any SCO code.