The amount of clueless replies in this thread terrifies me - sorry guys, but I've come to expect more out of Beyond3D. But maybe that's just me - I sure hope not, though. I'm not talking of the intelligent replies here though, even if I completely disagree with some of them - I'm focusing more on the ones that imply MS "owe" you something, when you really don't even know anything about DirectX 10. Inform yourself, and then try to inform others with your new knowledge. It doesn't work the other way around.
Anyway, I'll try to briefly but clearly explain the decision of "No DirectX 10 for Vista". Hopefully this will help some of you understand what's at stake here. Reading articles would provide you with the same information - this is all public knowledge, although it tends to be a bit too verbose to my liking (considering the weak amount of content), or just aren't explicit enough.
---
Unlike past DirectXs, DX10 is more than an API; it's also a required specification. In the past, "HAL modes" or Shader Models have played that role. And in fact, as it is right now, I could install DirectX 9.0c and the Forceware 77.72s (or many earlier versions) and get Direct 9.0c support on my old TNT2 M64. This will simply not be possible for DX10. No current GPU, including the GeForce 7 series and R5xx series, will support DX10.
The DX10 API is not based on "Shader Models" or "Cap Bits". You either support it completely or not at all. However, it doesn't matter how the HIVs implement this functionality - for example, even if the API unifies PS and VS, the hardware could choose not to do so.
There's apparently a but though, and it's not a small one: at least for the original WGF2.0, supported GPUs had to have a certain amount of performance, agreed by Microsoft using one or several simple tests. This aspect might, however, have been dropped since then - little current information is available.
This highlights three key points: First of all, your current machine will not be able to use DX10 without a new GPU. Secondly, any game wanting backwards compatibility with slower or less capable will have to support DX9.L. Thirdly, game programming on Vista will feel a lot more "Closed Box with a PC Path", with the important difference however than the so-called "Closed Box" might have very variable performance, although only to a certain extend (initially) if specific minimum performance is required for DX10 compatibility.
This makes the programmers' life significantly easier and significantly harder at the same time: should a game only support DX10 and Vista, no real fallback paths will be required should a powerful pixel and vertex-level LoD system be implemented.
But on the other hand, if you wanted a pre-DX10 fallback path AND you did extensive use of the new features and of the advantages of the new driver model, then you'd need to reimplement a good chunk of the engine completely. If you only had minor use of those new features and don't benefit dramatically from the new driver model, then keeping it compatible with DX9 should be quite easy - and then, you don't need a new GPU, and you don't need Vista.
---
Subjective part, please only read if interested - otherwise, don't bother:
Personally, and this is just my opinion, I think Microsoft's decision is excellent for the PC videogame industry. Making DX10 and Vista more similar to "closed box systems", yet capable of significantly more performance than any next-generation console given the right hardware (GPU-wise, at least; my opinion of the CPU/PPU side of things is Another Post For Another Day).
Overall, this creates an interesting market for game programmers. I think there will be a fair bit of DX10+DX9.L+DX9.0 games released around Vista's launch timeframe: this is an interesting market because anyone who bought Vista and a DX10 GPU will want to buy your game to justify their purchase, while people still on XP or DX9 GPUs will be happy it till provides good support for them.
So that means you'd get a a big market AND an additional specific niche market that's much more likely to buy your games at launch. Everyone wins. I'm sure this is also in the best interest of both HIVs and MS: To play these new games at high settings, you need to buy both a new GPU and a new OS. And possibly a new CPU (or even a PPU) if they're a console port and your current one isn't quite up to it.
From the customer's point of view however, this encourages you to do a "double purchase", which many people hate. However, I think this is a flawed idea: you can very well buy Vista and then buy a new GPU supporting DX10 three to six months later. It's not because Vista is required to support DX10 that the latter is required to support Vista - sadly, I fear that in the mind of many hardcore gamers, that might seem to be the case. Hopefully Microsoft's marketing deparment will somehow manage to crush that idea, and yet not make DX10 appear less important than it really is.
As for OS support, I personally regret that this move is likely to reduce the adoption of OpenGL, and thus Linux and MacOS X for gaming. This is a very smart move for Microsoft: they're basically guaranteeing themselves a real monopoly of gaming platforms if this move is a success - which it might still not be, only time will tell. If all goes as planned though, this might also have a slight benefit for the Xbox360 on the long-term: XB titles will be more easily portable to PC, and vice-versa; at the same time, the PS3 is based on OpenGL, so it wouldn't make porting those titles any easier - apparently there won't be many PS3 ports in the short-term anyway, though.
Anyhow, as is clearly visible, I decided to be a bit more verbose than I had originally wanted to be - hopefully at least the non-deliberately-subjective part will be useful to some of you
Uttar