Jump to content
  • Advertisement
Sign in to follow this  
Mark Silver

The evolution of Direct3D?

This topic is 2405 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello there gamedev community :) I have come here seeking some help.

I'm doing a report as part of my degree and one part of the report is to write about the evolution of Direct3D and the changes throughout its life cycle that have had an impact on the way we develop computer games, also why it was necessary for these changes at the current state of DirectX for every change since it was first conceived.

I'm not asking for anyone to do the work for me, I'm just struggling a bit and was hoping for a point in the right direction, as in someone could point out to me the most significant changes for games development in regards to Direct3D so I can go and read up the reasons for those changes by myself.

Thanks for reading.

Share this post


Link to post
Share on other sites
Advertisement
Roughly speaking:
* Direct3D 7.0: Hardware T&L, multitexture, hardware vertex buffers
* Direct3D 8.0: Early shaders, DirectDraw removed
* Direct3D 9.0: HLSL, MRTs and floating point textures (early deferred rendering, shadow maps)
* Direct3D 10.0: More general compute hardware and some shader unification, geometry shaders, underlying arch revisions (DXGI, required hardware features)
* Direct3D 11.0: Fully generalized compute support, hardware tesselation (domain and hull shaders), multithreaded rendering

I don't know about earlier than that.

Share this post


Link to post
Share on other sites

Roughly speaking:
* Direct3D 7.0: Hardware T&L, multitexture, hardware vertex buffers
* Direct3D 8.0: Early shaders, DirectDraw removed
* Direct3D 9.0: HLSL, MRTs and floating point textures (early deferred rendering, shadow maps)
* Direct3D 10.0: More general compute hardware and some shader unification, geometry shaders, underlying arch revisions (DXGI, required hardware features)
* Direct3D 11.0: Fully generalized compute support, hardware tesselation (domain and hull shaders), multithreaded rendering

I don't know about earlier than that.
Promit is exactly right, but keep in mind that the Direct3D specification doesn't require a particular type of processing element (see D3D10 + 11). This is how the IHVs implemented it, but not necessarily because of the specification.

Share this post


Link to post
Share on other sites
Well i don't know much about the history of DirectX... And despite some rumblings about the accuracy of Wikipedia it's at least a good start to get a brief overview of DX history.
There are two articles of interest, one covering DirectX and the other covering Direct3D.

Instead of me linking them just google "DirectX" and "Direct3D" and you will find them in the top 3 results.
Beyond that you might have to google each and every version of DirectX and Direct3D separately and build a history from there.

Unless of course you can find a game developer that has been around since 1992 and is willing to share his knowledge with you.

To answer your question "why it was necessary to" it's simply because demand exceeded the capabilities of the latest version and hardware grew ever faster and more capable. OpenGL played a big part in speeding up the development of DirectX and when OpenGL slowed down (version 1.3) so did DirectX (Version 9.0 a, b, c) and furthermore, the Xbox and PS3 can only use hardware compatible with DirectX 9 and OpenGL | ES 1.0 (OpenGL 1.3) with some features of OGL | ES 2.0 (OpenGL 2.0) respectively.
Only 'recently' (with the arrival of Vista, DirectX 10) an enormous demand has arrived for MORE. As gamers and developers demand ever higher fidelity in rendering (graphics) both hardware and drivers need to match the expecations.

So, simply put... It needed to evolve because we wanted more!
And there are many many more techniques to come as hardware grows, not necessarily in speed but in width.

Share this post


Link to post
Share on other sites
An interesting place to start might be John Carmack's original rant of 1996 (I don't use the word "rant" disparagingly - JC himself has described it as one in latter years) - copy here: http://www.team5150.com/~andrew/carmack/johnc_plan_1996.html#d19961223

This seems a good kick-off point to me because it illustrates exactly how far DirectX has evolved since those days, and there is also a spooky similarity between current versions and the old D3D3 execute buffer model (although the API itself is infinitely better, the concepts behind it are much closer than they were in D3D5 to 9).

Share this post


Link to post
Share on other sites

Roughly speaking:
* Direct3D 7.0: Hardware T&L, multitexture, hardware vertex buffers
* Direct3D 8.0: Early shaders, DirectDraw removed
* Direct3D 9.0: HLSL, MRTs and floating point textures (early deferred rendering, shadow maps)
* Direct3D 10.0: More general compute hardware and some shader unification, geometry shaders, underlying arch revisions (DXGI, required hardware features)
* Direct3D 11.0: Fully generalized compute support, hardware tesselation (domain and hull shaders), multithreaded rendering

I don't know about earlier than that.

* Direct3D 3.0: Immediate and retained mode (and I think this where D3D made its debut, but I can't remember for sure)
* Direct3D 5.0: DrawPrimitive
* Direct3D 6.0: Stencil buffer, multitexturing, texture compression

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!