Beyond DirectX 10 - A glance at DirectX 10.1
Hanners1979 writes "Although we still appear to be some way away from the release of Windows Vista, and with it DirectX 10, specifications for the first point release of the 3D graphics API, DirectX 10.1, have already been finalised and largely made public. Elite Bastards looks at what's new and what will be changing in this release, set to become available not all that long after DirectX 10 — There's more to it than you might imagine."
ACCUSATIVE YOU SON OF A BITCH
the next gen of videocards wait for this technology or include it so we don't have really short lived video cards.
DirectX.
DirectX! DirectX! DirectX!
hi mom!
DirectX does not seem a good standard for the industry to follow. DX9 came out how long ago? It seems as if 3D technology advances have slowed down. Yes there have been updates to DX9, but I don't really remember anything that was exciting. Yes, there has been talk about DX10 and the changes it would bring, but now it's known that it's Vista only. That's why it has taken so long. So the industry is waiting for Vista to finally have implementation of their new graphics features? Sounds like a bad move. What if MS delays Vista? What then? Are the graphic chip makers gonna sit and wait? What we need is an actual open industry standard. Bring back OpenGL so we can make improvements as they come, and not having to wait for Microsoft to lead it where they feel they can control it to make money, and continue locking out other platforms.
GPU shader processors certainly are Turing complete and there are plenty of people (ab-)using them for general purpose calculations. See for example http://www.gpgpu.org/. For some types of calculations, GPUs are much faster than CPUs due to their massively parallel processing. In fact, I have written my thesis on that very topic, comparing CPU and GPU based implementations of some algorithms.
Just by reading this article title, it may seem rather like we're getting ahead of ourselves here - After all, we still have another handful of DirectX 9 boards to come from ATI, never mind being a fair few months away from the launch of Windows Vista, and with it the latest iteration of the DirectX API, DirectX 10.
Nonetheless, despite all this, DirectX 10 is likely to see a number of point revisions during its lifespan and the first of these, imaginatively titled DirectX 10.1, will be the first of these. It may surprise some of you reading this, but the features which will be added by DirectX 10.1 have already been decided upon and information made available about them, so in this article we'll be taking a look through what we can expect to see in DirectX 10.1 compliant hardware.
I would imagine this goes without saying, but before tackling this article I'd well and truly recommend beginning by reading our look at what DirectX 10 has to offer in our article entitled "ATI on the possibilities of DirectX 10" to get yourself up to speed on everything that this major inflection point in 3D graphics rendering entails, from geometry shaders through to (more importantly for this article) the WDDM driver model. So, if you feel that you know all you need to know about DirectX 10, let's move onwards to the future world of DirectX 10.1.
Introduction
Before we begin outright, we should remind ourselves briefly as to exactly why the API will be seeing point releases as of DirectX 10. The main reason for this move is the removal of cap (or capability) bits in the API. In the past, cap bits allowed for graphics vendors to basically pick and choose what features their hardware would support (albeit within some fairly strict guidelines to ensure compliancy to particular DirectX and Shader Model revisions). Although this left the likes of NVIDIA and ATI with plenty of room to develop and tout features that the other didn't have, it also had the side effect of creating development Hell for any game developers working on titles, leaving them to sort through a myriad of cap bits for different GPUs and configurations to ensure that they were supporting the right features for the right boards - More often than not, this simply meant that advanced features that only one graphics vendor supported were left out of the vast majority of titles altogether (Truform anyone?). The removal of this labyrinth was one of the main things developers were screaming out for when it came to discussing what was required of DirectX 10, and so it came to pass.
Of course, this removal of cap bits had to be offset against the ever changing and progressing world of GPU development, so the graphics vendors still needed a way to push the technology forward and allow new technologies to find their way into games. Thus, DirectX 10 will be seeing point releases, one of the main facets of which will be to facilitate the inclusion of new funtionality for compliant graphics hardware to make use of. This makes life easier both for developers (who can target DirectX 10, 10.1 etc rather than individual features) and consumers - How do you explain to the man on the street that yes, a Radeon X800 and GeForce 6800 are both DirectX 9 parts, but both support different Shader Models in their respective architectures. It isn't much fun, trust me. As DirectX 10 and its point releases will also have very little in the way of features that are only optional in the API, buying a graphics board compliant with a particular DirectX 10 version will ensure that it does everything it needs to do to satisfy game titles that use that level of technology. No more Vertex Texture Fetch-esque confusions this time around then.
The other question to answer (or not answer, such is the way these things work) before we start is - When will DirectX 10.1 be released? From what we've heard thus far, it appears that it may well become available not all that long after DirectX 10 itself. What isn't so likely however, is that we'll be seeing DirectX 10.1
Just like Visual Studio and Office it's yet another thing that props up Windows.
If I were a DX developer I'd be more interested in playing "ubiquitous developer" than "Windows Sock Puppet".
I may get modded down for this comment, but honestly, what is so special about windows that makes DX infeasible to implement for other platforms?
Tom
Someday, I'll have a real sig.
Why not call it DirectX 10, and release it with Vista? Heck, by the time Vista is released, it may be DirectX 11.
Funny createSig(Witty remark, Odd reference)
{
return (Funny)remark + (Funny)reference;
}
I don't understand what everyone wants Microsoft to do with their next version of windows. Before everyone was complaining that they needed to ditch all the legacy code and clean things up, and now everyone is pissed off that new software for vista won't be backwards compatible. You've got to drop backwards compatibility sometime, if you want to get rid of legacy code.
Why would any company want to lose out on the win98,2000,XP crowd when they market their game? Only Microsoft has any interest in selling stuff that uses DX10+. To me DX10+ is dumb, stupid, and inane.
God spoke to me.
It used to be that games used both OpenGL and DirectX (especially before Direct3d had the features to compete with OpenGL), but since game developers have made windoze their PC development platform, direct3d has become the defacto graphics library to use. One of the reasons there was no Half-Life 2 native LINUX/Mac port is because there was no OpenGL development and Valve had no inclination to do MAJOR programming work to make it work with OpenGL.
Until somebody writes a game that does something on LINUX/MAC that can't be done on windows because of the underlying OS that is successful I doubt if we'll see any change.
Considering [...] DirectX10 is only available on Vista and that 50% of employers say they are not going to purchase [soon], it's a safe bet to say that we won't be seeing any games [...] for at least 2 years.
I think I found the flaw in your logic. Employers != Consumers.
The fact is, games will probably drive Vista adoption more than any other factor save factory pre-installs. We proabaly won't see much requiring DX10 for a year or more, but that is because most big games take 1-3 years to develop so that's about the earliest that we'll see stuff.
This may cause game manufacturers to change tactics since OpenGL is supported on ALL OS's.
That fact has always been true, and it hasn't made much of a difference so far, even back when OpenGL and DirectX were much closer in abilities (without needing extensions and such).
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
But not for the obvious reasons. I'm tired of these articles because then the woodwork of MS bashers comes out and says the same tired comments over and over again. "MS is just doing this so everyone has to buy Vista!" "There is no reason why DX10 can't be backported to XP!" It's like these people never saw these articles posted before, and they really feel like they are making some new contribution. They are not.
After years of pushing DirectX, Nvidia is now betting on OpenGL and has promised first class OpenGL support for their upcoming cards. What does this mean? At the very least it means that there must be good reason for choosing OpenGL over DirectX. Also, keep in mind that OpenGL is an actual graphics standard whereas DirectX is not. Both will co-exist for the next couple of years but it is likely that in the long run OpenGL leaves DirectX in the dust.
...is that the vendor lock-in is FREE!
Jacob Carter: But by who?
Jack O'Neill: It's whom!
Samantha Carter: Actually, it's what.
Please, for the good of Humanity, vote Obama.
I'm not an MS fanboy, but to those people who complain that its not good to make Vista-only games because its such a small market, are the same people who complain that there aren't enough games for Linux/Mac. I don't have statistics yet but its pretty much guaranteed that no matter how small, Vista will still have a bigger market share than Linux and Mac combined. I'm not trolling. This is reality.
I'm especially looking forward to DirectX11, which will reportedly be based on the XFree86 4.4 implementation of X11 (under a new license, of course).
http://alternatives.rzero.com/
The problem is the driver model for DX10 does not work well for the XP WDDM. I assure you they, and all the game publishers, wanted 10 to be available for as many Windows versions as possible. The break with the driver model was fundamental to several things but especially multi-head/multi-device hardware acceleration, changes to the cooperative nature of the 2D and 3D aspects of the video cards (both for fundamental re-factoring of the nature of DirectX Graphics and for the needs of advanced rendering systems like the Vista UI layer.) There's a bunch of great things about DX10 that could have been put into XP but there are other, more fundamental, architectural moves which have great performance benefits and future design benefits going forward.
Personally, I can't wait to see how well displacement mapping will make real-time terrain generation vastly simpler and adaptive to level of detail (doing this now is a fair amount of work.)
Loading...
Doesn't this officially make 10.0 a beta? It's outdated before realise; sounds beta to me...
Great Intellect...
Bring back OpenGL? OpenGL is alive and well. It would be great if some of the Windows developers started using it though, since they are in the majority.
If it were in a developer's best interest to use OpenGL they would. OpenGL has a history of having mediocre drivers if you are *not* doing things as Quake does them. In other words OpenGL was of such little interest to ATI and NVIDIA that about all the optimization attention it got was whetever Quake used. Now this was a few years ago and things are better now but developers remembers this and are a little gun shy due to "spotty" support and optimizations. They all know Direct3D will be at the forefront of ATI and NVIDIA's efforts. Now consider the arguments made by other posters where the new features and tools show up first, in Direct3D.
Again, what's in it for developers? Linux gamers? No they dual boot or emulate, they are already Win32/Direct3D customers. There is no new money to be made, a port would merely move a sale from Win32 to Linux, more work, no revenue. The Linux market is really only those who refuse to emulate or dual boot. Mac OS X gamers? Well at least they have a history of spending money going for them, at least when emulation and dual boot were not feasable since an emulator had to emulate the CPU not just a gaming API. However with the switch to Intel dual booting is now an option, and to make things more confusing there is Cider for emulation. Write for Win32/Direct3D and link in Cider to translate the Win32 calls to Mac OS X. I like OpenGL, I come from a scientific visualization background, but come on, there is not much of a business case from a developer's perspective "today". It had slightly better case "yesterday"
Please, feel free to join the rest of the world.
Uh, by "rest of the world" you mean the 5% running Mac OS X and Linux? Hey, if you are discussing soccer then phrases like "rest of the world" are meaningful, but in the context of computer gamers it is a joke.
The difference is that it will be very easy to make games that run on both Vista and XP/2000/etc compared to making a Linux or Mac port. While I'm sure there will be a large market for Vista, if a company can use OpenGL (or even DirectX 9) just as easily and sell the game for other versions of Windows as well, they would be stupid not to. There'd have to be a some feature in DirectX 10 or Vista that is essential to the game, which I find unlikely.
Why didn't they follow Apple's lead and call it DirectXX?
Obviously the 10th point revision would be DirectXXX.
https://www.eff.org/https-everywhere
More like wishful innacurate zealot rambling. nVidia isn't betting on OpenGL, nVidia has ALWAYS supported OpenGL to the same level as they have DriectX, which is to say excellently. Ever since their fumbling first attempt with a proprietary API they decalred their cards native APIs were DirectX and OpenGL. They supported both as native, and no others. You'll find that with games that support both, their speed is equal. To this day, I've never seen them slack on their GL support.
And yes, DirectX IS a standard. It's not an open standard, but it's a standard. Look up "standard" in the dictionary. A standard is just something that's regularly and widely used. There doesn't even have to be an offical document on it or anything, so long as a bunch of people do it a certian way, it's a standard.
DirectX is the predominant standard in PC gaming graphics, sound, input, and so on. You look at game titles, better than 90% of them require DirectX. Yes it's MS exclusive, but it's still the standard for gaming.
Unless OpenGL really gets it's shit together and starts keeping up to date with graphics hardwre developments, then no, I don't think there's any chance of DirectX going anywhere. GL support lags behind hardware which means to implement a GL game using the latest, greatest features you've got to implement them multiple times to deal with the different extensions form different vendors.
If only I had mod-points -- guess whem I would give them to...
sig? Oh, that sig...
What about the features for the OS they're planning to release in 2020 ?
Sure. Here: microsoft.com/windowsvista/features
-------
1. Enjoy your job
2. Make lots of money
3. Work within the law
Choose any two.
I'm seeing a lot of comments here lamenting the fact that the majority of PC games are developed using DirectX instead of OpenGL. You have to remember that DirectX Graphics (formerly Direct3D) is just one part of the overall package. DirectX also provides simple, useful interfaces for sound, input and networking. While I'm reasonably sure that the networking support doesn't get a lot of use, the sound and input APIs do. Heck, even the much-touted OpenGL example World of Warcraft actually makes heavy use of DirectX under Windows. Just not for graphics.
If there was a good overall package that leveraged OpenGL for graphics, then you'd see OpenGL being used more often. At the moment there's really only SDL, and to be frank, while SDL is great for some things, it's just not on the same footing as DirectX having come late to the party and not had the level of funding and development.
we won't be seeing any games that use DirectX10 for at least 2 years
Hmm... like, for example, Crysis? Or UT2K7? Or Halo 2 (PC obviously)? Or Flight Simulator X? Come on out from under your rock, buddy... these are all games that use DX10 and they'll be out well within 2 years.
10100111001
Running games and graphics apps in OpenGL was better and faster than D3D - why? Simple! D3D had to go thru the OS first. OpenGL was direct to hardware. That was one less step to do (from what I'm understanding reading the OpenGL website,) which usually resulted in better performance, and the general reason was that games running D3D needed more CPU/GPU power and RAM to run as smoothly (Anyone recall Unreal Tournament 2003's requirements? Remember the hidden OpenGL renderer which gave you an extra 10 or so FPS, just like the OpenGL renderer in the original Unreal Tournament?) Having less layers of code to go through will almost always, with the exception of poor programming, outdo going through a separate API. With the lovely novelty of universal drivers, games can easily be written to directly address the hardware. In steps OpenGL, and out steps D3D. Hello Linux, OSX, and Windows gaming, all in a wonderful harmony. As long as everyone plays by OpenGLs standard, all should be well in theory. This is only a thought, and a theory.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.