Having just returned from Siggraph this year I was fielding some questions from some co-workers. “Didja hear that Microsoft announced DirectX 10.1?”, “Yeah”, “And that it makes all DX10.0 hardware obsolete?” – To which my witty reply was “huh?” I was there when the DX10.1 features were described and I’m sure I would have noticed it if Microsoft had made such an announcement.
What I do remember was the description of the architecture for DX10 and why it’s breaking from the DX9 interface. Basically it’s that fact that the API has just gotten bigger and bigger and has gotten to the point where 1) The underlying hardware doesn’t work the way the API was originally laid out, and 2) the drivers are now these huge things to force the legacy API calls to talk to the current hardware setup. DX10 (and OpenGL 3 for that matter) is where we make a clean break and get back to a thin driver layer over the GPU. Gone are the fixed lighting pipeline of yor. In fact the whole Begin Scene – render – EndScene architecture is gone. Cap bits are finally going away and DX is adopting (waaaay to late) the OpenGL conformance test model. In other words DX10.0 is an API specification. If you want you hardware to be certified as being DX10.0 compatible, it has to run all the features that are in the DX10.0 spec. (And I assume it has to generate conforming output when tested against the API). The programmers now get to code to one API, not various flavors, and the consumer gets to know that a DX10 card will run all DX10 games. OK, so what’s the difference between DX10.0 and DX10.1? Basically what I heard was that DX10.1 was what Microsoft wanted for Vista ship, but not all the major hardware vendors could get all the features in the current hardware generation. So what shipped was most of the features minus some more esoteric things (like how 4 sample full screen antialiasing is implemented). The reason DX10.1 is coming out so quickly is that Microsoft wants the spec out there so developers can see what’s going to be available in the near future as well as putting a stake in the ground that hardware venders have to meet. The new features that are in DX10.1 are:
So, as the Microsoft guy said, it’s all about the rendering quality. So, I doubt that when DX10.1 comes out suddenly your DX10.0 game will stop working. These are just enhancements to the API that don’t reflect the current state of the hardware, just where the hardware will be forced to go in the near future. The DX9 API is getting a final revision that then will be frozen so any non-Vista OS will be able to run a DX9 (or 8, or 7) game, as will Vista since the DX9 DLL will coexist with the DX10.x DLL on Vista. If you want to try it out you’ll need the Vista SP1 beta and the D3D10.1 Tech Preview – both will be downloadable from Microsoft. |
Topics
Android Augmented Reality C++0X/C++11 Code Conferences Consoles Control Theory Digital Intelligence DirectX Ex-Microsoft FILM Framestore Game Industry GearVR Graphics Graphics API Graphics Hardware Hardware Infinium Miscellaneous OpenGL PC Graphics Published Articles Technology Too Weird Uncategorized Virtual Reality Vive VR/AR/XR Windows 8 Windows Mixed Reality-
Recent Posts
Categories
- Android
- Augmented Reality
- C++0X/C++11
- Code
- Conferences
- Consoles
- Control Theory
- Digital Intelligence
- DirectX
- Ex-Microsoft
- FILM
- Framestore
- Game Industry
- GearVR
- Graphics
- Graphics API
- Graphics Hardware
- Hardware
- Infinium
- Miscellaneous
- OpenGL
- PC Graphics
- Published Articles
- Technology
- Too Weird
- Uncategorized
- Virtual Reality
- Vive
- VR/AR/XR
- Windows 8
- Windows Mixed Reality
Archives
- May 2020
- January 2019
- October 2018
- August 2018
- July 2018
- June 2018
- January 2018
- December 2017
- November 2017
- October 2017
- July 2017
- May 2017
- November 2016
- October 2016
- May 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- July 2015
- June 2015
- May 2015
- November 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- November 2013
- August 2013
- December 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- August 2011
- July 2011
- June 2011
- March 2011
- November 2010
- October 2010
- September 2010
- July 2010
- August 2009
- March 2009
- February 2009
- August 2008
- September 2007
- August 2007
- May 2007
- April 2007
- March 2007
- February 2007
- February 2005
- January 2005
- December 2004
- November 2004
- October 2004
- September 2004
- June 2004
- April 2004
- March 2004
- February 2004
- January 2004
- December 2003
- October 2003
- September 2003
- August 2003
- July 2003
- June 2003
- May 2003
- April 2003
- March 2003
- February 2003
- December 2002
- July 2002
- May 2002
- March 2002
- February 2002
Recent Comments
- Ron on Code Storage
- Mohammad on Code Storage