DirectX10 is not just another version of DirectX. This version has been re-built from the ground up to change the way applications think about material management and load balancing between the CPU and GPU. D3D10, as also DirectX10 is called, takes advantage of the improved communication between the CPU and GPU and efficiently manages the data transfer between them. Screenshots included.
And I hope for new version of Final Fantasy:)
It’s so very nice to see MS take graphics seriously. Seems like they are putting a lot of money into DirectX R&D. Another aspect to DirectX 10 that seems promising is how it will virtualize DirectX. Try running two directx games now and they’ll probably conflict or the OS/apps will choke. From what I understand DirectX 10 adds a layer of abstraction so the OS can better manage each directx app simultaneously. I haven’t played with the vista betas to test that out though. Anyone??
I remember I loved how the Amiga did this back in the 1980s and 1990s. You could have virtual screens on top of each other and drag the each virtual screen up & down. Now it’s being done in 3d with vista & in linux/unix with XGL.
Edited 2006-08-17 19:26
They’ve always taken 3d seriously, just finally they’ve managed to make something a little better than opengl. 10 years later.
hmm, i kinda recall that one of the big things about win95 was that it would abstract away hardware. then it was found that the abstraction hurt the responsiveness of the games. therefor directx was introduced so that games could bypass the abstraction.
now they introduce abstraction into directx?
and who runs more then one game at the same time anyways?
those that have wow in the background 24/7?
No, directx wasn’t introduced so that games could bypass the abstraction. DirectX was introduced *with* windows95 to help make Windows the gaming platform of choice for pc users. Before then, most games used DOS and required you to exit windows before playing. They required you to exit windows because until then, Windows really sucked for high performance games like first person shooters, warcraft, etc etc.
I’m not sure about the extra abstraction (as I stated) so before you get upset, just check into it. Then report back here on what you find if you would be so kind.
DirectX can be used for more than games so yes it’s a really good idea to allow more than one Direct3d app to work at once. Who knows, in 5 years every major app might use it for some reason. Why have limits anyway? More flexibility is often a good thing as far as operating systems go.
iirc, directx was not launched with win95. it came into being after game companys (including id software) started to tell people that it was best to reboot win95 into dos mode to get real speed out of their games.
the first win95 games used win32 and wing libs (you could get those as addons for windows 3.1/3.11 even), not directx.
i recall creating a dos-mode shortcut on my win95 desktop and tweaking it to get the best performance i could hope for. having experience from pre-win95 dos helped in that area
You are not recalling correctly except about your icon.
idsoftware’s games (doom and quake1) in 1995 and 1996 were DOS games, not windows games. That’s why they wanted you to go into dos mode and why you had a dos icon in win95. DirectX *was* included as a part of Windows95 but id did not release a direct3d game until their most recent games today. idsoftware’s first win32 application (windows native) was called WinQuake in 1997 and it DID use DirectX for sound/mouse and keyboard input/etc but NOT for 3d. glquake, the first major 3d game application, even though it used OpenGL (much better rendering for the day) still used DirectX because it was a win32 native executable, not a DOS game.
Also a reason why you exited Windows95 to play a dos game in 1995/1996 was because memory prices were sky high so it was best to exit the memory hungry windows to play your game without excessive swapping. If you had a computer with 64mb of ram you could, in theory, play a high performance dos game in win95 with not much reduction in performance. Back then people typically had only 8MB or 16MB of ram!
I think there might have been a dos native glquake.exe too, not sure.
Here is a link that proves what I’m saying:
http://en.wikipedia.org/wiki/Direct_x
“In 1994, Microsoft was just on the verge of releasing its next operating system, Windows 95. The main factor that would determine the value consumers would place on their new operating system very much rested on what programs would be able to run on it. Three Microsoft employees—Craig Eisler, Alex St. John, and Eric Engstrom—were concerned, because programmers tended to see Microsoft’s previous operating system, DOS, as a better platform for game programming, meaning few games would be developed for Windows 95 and the operating system would not be as much of a success.
DOS allowed direct access to video cards, keyboards and mice, sound devices and all other parts of the system, while Windows 95, with its protected memory model, restricted access to all of these, working on a much more standardized model. Microsoft needed a way that would let programmers get what they wanted, and they needed it quickly; the operating system was only months away from being released. Eisler, St. John, and Engstrom conspired together to fix this problem, with a solution that they eventually named DirectX.”
Edited 2006-08-17 21:48
hmm, looks like i have my timeframe confused yes.
guess its so far back that im mixing up the time of the first true windows games with the release of directx. most likely because the release of said games made me aware of the existence of directx.
and it could be that im thinking of directx 2 or 3 as they started to show up as required installs along with the games that used them.
sorry.
It’s okay. That was a long time ago.
Yes it was because there was a lag between the release of directx with win95 and the game publishers actually releasing games that used DirectX exclusively with the win32 api that win95 introduced. (Before Win95 there was Windows 3.1(1) which did not have either DirectX or the win32 (32 bit native) protected mode api’s.)
Yes for the first several months games didn’t use directx because it was so new and not everyone had Win95. At least a year passed before several games worked natively in Windows and DirectX but it happened quicker than I thought it would. Still though, Win95 lived up to its promise as a gaming OS, something that all previous version of Windows failed at miserably.
Even a year after win95 was out DOS games were still being released. Things really changed in 1997 with many games coming out for Win95 or newer (iirc) and not DOS. Games like Total Annihilation, quake2, etc were all Windows native and used DirectX to some degree.
I find it interesting that today we take for granted that major pc games today will be windows native. It simply wasn’t always so as you and I remember.
and its interesting that i can still play total annihilation and quake 2 on my win2k box. and they are still better games then most of the ones you get today.
First version of Direct X was released in 1996, so it was after Windows 95′ premiere. It was developed before 96 for sure but it was released after Win95. It wasn’t Direct3D till DirectX 3.0. D3D was developed, because Microsoft wanted to add new things to standard and it can’t, so like with Java it created new standard. BTW, first OpenGL libraries was introduced in Windows NT.
One more thing, first games (not puzzle or reversi ) for Windows was released by Activision (Pitfall, as I remember).
Check out the table farther down. DirectX didn’t ship with Windows 95 till DirectX 2 with Windows 95 OSR 2, same time they added USB iirc.
Windows 95 did not ship with it, it was an addon.
DirectX 1.0 Release Date Sept 30, 1995.
Windows 95 Release Date Aug 24, 1995.
Aug 24 is prior to Sept 30. Yes, windows 95 was on the market for more than a month before DirectX existed.
Jackass.
Vista needs to be able to run multiple DirectX programs because the desktop now uses it. So in order to run any program that uses DirectX you are already at 2 unless you do some funky stuff like turning off the effects on the desktop when required.
or merge the rendering of the desktop with the rendering of the individual program…
hmm, maybe thats what the abstraction does. add all that stuff up into one big rendering. should have thought of that from the start. basicly the do to 3d what have been done to sound for ages, software mixing…
Edited 2006-08-17 21:35
Thats what a composite manage dose, I think.
Well, at least under linux, you can run OpenGL apps simultanously, too.
Only problem are GL context switches, which are costy and have to be done every time the other app gets control (for example, on every frame rendered).
So if you run two GL applications side by side, you won’t get 2x 50% of the original performance. But they shouldn’t choke.
The only possibility to avoid context switches is sharing context. In GL this would be possible using framebuffer objects or pbuffers for rendering and compositing the whole image at the end. This is what XGL basically does.
It’s also kind of what Vista does (theoretically). It’s just necessary for the desktop effects and seems to also benefit performance of parallel rendering apps.
I wouldn’t describe that as big feature of DX10…
The article mentioned Crysis. Crytek (the guys that did FarCry) have some videos of their next gen engine.
http://www.crysis-online.com/Media/Videos/
Pretty incredible.
The article mentioned Crysis. Crytek (the guys that did FarCry) have some videos of their next gen engine.
http://www.crysis-online.com/Media/Videos/
Pretty incredible.
Yay, another FPS. Are you guys ever gonna get tired of paying $50 for the same game you played last month? All these fancy toys, and the only thing they can do is remake Doom over and over again.
“D3D10, as also DirectX10 is called”
No it’s not. D3D means Direct3D which is a subsystem of DirectX.
As I was reading this I was thinking this sounds like Microsoft propaganda and sure enough it was written by Microsoft weenies. I’m betting there is no reason it cannot be implemented in XP. Will DX 10 advantages be worth the slowdown caused by Vistas high system requirements? I guess we will see. Microsoft is also using Halo 2 to try to get people to “upgrade’ to Vista when they could have easily had Halo 2 for the PC any time they wanted.
So what? Thats everyday marketing decisions like every company does. Live with it or don’t buy it. Sorry, but thats the sad truth. Free Markets isn’t about doing what would be nice, it is about doing what gets you profit and you can be sure as hell that it will be good for vista sales if they don’t port DX10 to XP.
Well, that probably even has technical reasons, but not delivering Halo2 to XP/DX9 sure doesn’t. But hey, surprise, you won’t die if you don’t play it, so if you aren’t happy about it then just don’t buy it.
Yeah no doubt. He was talking like it was his birthright to have Halo2 on WinXP. His parents probably give him what he wants. I love the “you won’t die without it” point. Nicely put. I like games too but also realize it’s a free game market and a company can do with their game what they want, even MS. Ahh well life goes on. I personally appreciate what MS has done for the computer gaming scene. Since the Amiga died, PCs in Windows have been the best overall computer gaming platform.
DX10 relies on the Vista Driver Model to work. They added a GPU scheduler and virtualization for Video RAM to this driver system. The architecture is totally different as well, with a large user-mode component that plugs into the D3D runtime and translates D3D calls to GPU instructions to DMA out to the hardware. The drastic changes to the driver model justify requiring an OS. Do you expect Microsoft to give you major OS updates for free?
Your “bet” is wrong.
On the other hand, you are right that games will probably run slower in Vista for the forseeable future. The new driver model has some overhead and requires totally new (and therefore not yet optimized) drivers. Maybe we will even require changes in hardware for efficiency in the new system. On the other hand, the new system will probably be more scalable into the future, just as OS X is more future proof than OS 9 at the expense of higher resources. And moving graphics processing out of Kernel Mode helps everyone.
I’m willing to take Microsofts word (no pun intended) on that DX10 isn’t practical on WinXP. My problem is with some of their examples.
Look at picture one. In my opinion, that’s extremely dated looking. The character is very low poly and the texture resolution is very low. The game may have required DX9 on the PC but the graphics quality was more along the lines of DX7 games.
Take a look at Half Life 2 – Lost Coast. The HDRI technology added to the Source engine produced some very impressive results. Given sufficiant polycount and texture resolution, similar results to those Crysis pics could be acheived. I’m willing to bet Crysis in DX9 will still look pretty impressive.
Take a look at Project Offset (projectoffset.com) or Oblivion. Those are also some good modern DX9 graphics that use much of the tech they say is new in DX10. I’m sure DX10 will be impressive but I hate it when the hype machine comes up with stupid examples to try to make their new tech look good.
Of course if they used good examples, the hype machine wouldn’t be doing its job.
Edited 2006-08-17 20:58
Why should this examples not be possible with DX9 or OpenGL 2? The only reason I see is GPU power. I think all thous things can be done with various shaders. It then depends on the GPU what framerate you will get. Or am I missing the point?
You are correct. The article exagerates the power of “the API”.
Sure you could do it yourself, but the whole point of the API is so that you don’t. The idea is to simplify working with graphics and require hardware to support a certain minimum set of features.
I thought it’s better to layer it that way:
hardware: implements GPU featurtes like shaders etc. (e.g. a geforce based card)
3d-api: is verthin and fast but abstracts the vendor specific hardware to a standard api (e.g. opengl od directx)
3d-engine: implements lots of cool stuff like certain pixle shaders (e.g. paralax mapping) and a scene graph etc. (e.g. irrlicht)
game-engine: implents physics and network code etc. (e.g. RABCAT)
There seemes to be some dissent on what the 3d-engine part should contain. Often its features are implemented in the game-engine, but MS what to implement some of its features in directx?
“This version has been re-built from the ground up” that means no compatibility with DX9 games ^^
wow vista seems to be the perfect system for gamers ^^
especially because you can’t install DX10 on XP *g*
“This version has been re-built from the ground up” that means no compatibility with DX9 games ^^
wow vista seems to be the perfect system for gamers ^^
You misunderstood that statement. DX9 will run on Vista. So will DX10. The nature of game development is that devs choose a particular version of DX. They don’t have any expectation that their games will run on subsequent versions.
especially because you can’t install DX10 on XP *g*
There’s a good reason for that: The driver model is completely different. DX10 does a lot of device and texture virtualization that isn’t possible under XP.
DirectX 9, as far as remember wil also be in Vista, so it’ll run your old games too, you just won’t be able to play your new games on Vista
I meant without Vista
What’s funny is that WINE will eventually have DX10 support, while XP never will. That amuses me.
It’s going to take a long long time before Wine has decent D3D10 support.
It is going to take a lot of work as well.
RE: Nice
And the API is the implementation. That’s the whole point. You don’t need to know the hardware interface… Or am I missing something?
Edited 2006-08-17 21:18
One nit: The API is the specification. The underlying code is the implementation. ;p
If the thrust of your question is to ask why DX10 wasn’t backported to XP, what’s the point? The new functionality wouldn’t be implemented at all — so any developer targeting DX10 would find [possibly significant] differences when running on XP versus Vista.
The safer bet is to use DX9 on both platforms until Vista garners significant market share. Devs who want to target both APIs will probably create their own abstraction layer, regardless.
Direct3D 10 is a huge difference. You are unlikely to see the real difference until two years from now.
Maybe 3DMark 2007 will come out and you might get to see something, but as of now it is too early to see much of anything. The graphics cards are not even out yet. Having no hardware makes it hard to get a grasp on how advanced things will get with D3D 10.
Most of the pictures posted comes from illustrations of some of what D3D 10 does in theory and without hardware.
However, because of a new pipeline that uses Geometry Shaders that actually create geometry on the fly on the GPU (Graphics Processing Unit), because of things such as virtual memory (combined your system memory and video card memory in a giant pool of memory), combined with less overhead in the API itself, combined with the Stream out support to the CPU/Memory, and combined with Shader Model 4.0, the API will make a huge difference in gaming and realtime applications.
Whats the difference between a geometry shader and a vertex shader?
A geometry shader can produce new geometry on the fly. A vertex shader can only move things around.
I knew something was fishy when I saw the author comparing some utter crap screenshots of Halo with some newest stuff. Then there was this fish which he calls “fella” and I didn’t really see any difference except that the DX10 version has probably more prominent spikes… um, and that was all. Then he shows some lake reflections and this is utter crap! – Half-Life 2’s doing what he says only DX10 can do RIGHT NOW on DX9. Luckily there was a signature at the end and it turns out the guy’s not even a programmer, he’s a product manager (fer crying out loud) for Vista Launch Team!
That’s a shame. The whole try at making a propaganda article looks soo 90s.
First, I’m not surprised that a website (technet.com) owned by Microsoft would contain a “propaganda article” that favors MS technology. Why are you so suprised by this?
Second, you missed the point about the technology changes. Adding useful technology to DX10 which obviates the need for developers (like Valve) to invent their own equivalent technologies and then run them on DX9 is “a good thing”. Devs shouldn’t have to reinvent the wheel. DX10 gives them additional technology for free. Please tell me the downside, because I’m trying to understand how you see one. If you don’t like what DX10 offers — or you want to reinvent it yourself — here’s a hint: Stick with DX9. It will work fine.
Third, are you honestly suggesting that product managers don’t know anything about the features in the products they’re shipping? Do you actually work for such an organization — or do you believe that that’s the case for all organizations?
Microsoft Tax.
Need to upgrade or else.
“DirectX *was* included as a part of Windows95”
No it wasn’t, it was shipped separately.
Please provide evidence to your statement. Here is evidence that is contrary to your assertion:
http://en.wikipedia.org/wiki/Direct_x
“In 1994, Microsoft was just on the verge of releasing its next operating system, Windows 95. The main factor that would determine the value consumers would place on their new operating system very much rested on what programs would be able to run on it. Three Microsoft employees—Craig Eisler, Alex St. John, and Eric Engstrom—were concerned, because programmers tended to see Microsoft’s previous operating system, DOS, as a better platform for game programming, meaning few games would be developed for Windows 95 and the operating system would not be as much of a success.
DOS allowed direct access to video cards, keyboards and mice, sound devices and all other parts of the system, while Windows 95, with its protected memory model, restricted access to all of these, working on a much more standardized model. Microsoft needed a way that would let programmers get what they wanted, and they needed it quickly; the operating system was only months away from being released. Eisler, St. John, and Engstrom conspired together to fix this problem, with a solution that they eventually named DirectX.”
Edited 2006-08-18 06:01
I found this “comparison” really outrageous. Especially at the very beginning of the article :
Why comparing an outdated game (Halo) not even built for PC at a time when even DirectX8 was shiny new, and then brand it “DirectX 9 example” !!!!
How come !
Why not using a tetris in flash for a “fair” comparison to this wonderfull still-image from Crysis, that by the way we yet have to see anywhere (no trace of such details in the ingame vidéo of crysis online) ?
The rest of the article is all the same : praise the wonderfull DirectX10 that brings you game that you can’t get with Directx9 ! Please buy Windows Vista !
How disgusting !
For information, most of the effects presented as “brand new” in this cheated DirectX10 article are already present in DirectX9.
For a better comparison of these two version (because there are some, although none of those presented by this microsoft-bought guy), go to EliteBastard.
who cares! gamers suck any way!
Sorry, but where in that text does it say Windows 95 *shipped* with DirectX?
Please provide evidence for your statement.