Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


The evolution of Direct3D?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 MarkGameDev   Members   -  Reputation: 104

Like
0Likes
Like

Posted 14 March 2012 - 01:00 PM

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.

Sponsor:

#2 Promit   Moderators   -  Reputation: 7560

Like
3Likes
Like

Posted 14 March 2012 - 01:22 PM

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.

#3 MarkGameDev   Members   -  Reputation: 104

Like
0Likes
Like

Posted 14 March 2012 - 01:36 PM

great start, many thanks

#4 Jason Z   Crossbones+   -  Reputation: 5284

Like
0Likes
Like

Posted 14 March 2012 - 05:25 PM

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.

#5 Cadde   Members   -  Reputation: 104

Like
0Likes
Like

Posted 14 March 2012 - 06:06 PM

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.

#6 mhagain   Crossbones+   -  Reputation: 8275

Like
0Likes
Like

Posted 14 March 2012 - 07:57 PM

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).

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#7 Tape_Worm   Crossbones+   -  Reputation: 1821

Like
0Likes
Like

Posted 15 March 2012 - 12:42 PM

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

#8 Scoob Droolins   Members   -  Reputation: 238

Like
0Likes
Like

Posted 15 March 2012 - 08:06 PM

Never used this disc, D3D was horribly difficult to use until DX5 and DrawPrim.
dx2 001.jpg




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS