Radeon HD 2000 Series: 3D Architecture Explained

Since there are no DX10 games out there yet, it behooves us to quickly go over some of the features that make DirectX 10 different from DirectX 9. Loyd Case summed it up well in his GeForce 8800 architectural overview, so we’ll reprint the bullet-list here for convenience.

Unified shader model.

Known as Shader Model 4.0, this unassuming name hides an entirely new approach to how DirectX handles programmable 3D. Shader Model 4.0 uses a consistent instruction set across all shader types now. Previously, pixel shader code looked different from vertex shader code. This played well on earlier graphics architectures, which had separate pixel and vertex shader units. This unified ISA (instruction set architecture) makes life much easier for graphics programmers. The new shader model has some other key features, like integer operations.

Geometry shaders.

In the past, vertex data would come into the 3D pipeline and be manipulated directly, vertex-by-vertex. Vertex shader operations may modify the characteristics of the existing vertex data, but no new vertices are created, and they can’t operate on more than one vertex at a time. DirectX 10 adds a new stage, geometry shaders, which lie between vertex and pixel operations. It’s possible to actually create new vertices or destroy existing ones with geometry shaders, and to perform operations on more than a single vertex. The Geometry Shader’s input is an entire primitive (vertex, line, or triangle) with adjacency information, so it can operate on groups of vertices at once. This is one of the big new features of DirectX 10  geometry shaders can be used to do nifty tricks like some limited forms of tessellation, rapid rendering of shadow volumes, fast rendering to cube maps, and other tricks that can greatly speed up graphics tricks that are too costly or slow to use under DirectX 9.

Stream out.

Stream output means that data generated from geometry shaders (or sometimes vertex shaders) can be shipped back to video memory, then reused and shipped back to the GPU to be processed again. This allows for more complex geometries, advanced lighting and even more efficient GPU-based physics simulations.

Longer shader programs.

Shader programs can now be 64K (65,535) instructions long, instead of the previous 512 instructions.

More flexible shader programming.

Flow control is now completely dynamic, and the number of constant registers has dramatically increased (from 256 to 16 x 4096, broken down into 16 input registers and 4096 temp registers). Load and integer ops now exist. While still very focused on graphics, the ISA is beginning to offer more general-purpose attributes.

Improved instancing.

Instancing was a technique whereby a single DirectX draw call would send an object to the GPU, with some additional data that told the GPU where to place the object, what color it might be, animation data, and so on. But that created multiple objects that often looked and behaved nearly the same. That data was used to replicate the single object many times in a scene using just one draw call. In DX10, this data is in the form of array indices that point back to arrays. Each array entry contains different instance data, so the multiple objects can look and behave differently.

Windows Vista only.

DirectX 10 will only run on Windows Vista, because it will require the new device driver model that’s one of the core pieces of Vista. However, DirectX 10 capable hardware will run applications written for earlier versions of DirectX just fine, and will run DX9 and earlier apps on Windows XP.

For more on DirectX 10, check out our interview series last year on key DX10 people. It features interviews with Chris Donahue and David Blythe from Microsoft, ATI’s Bob Drebin, Nvidia’s Tony Tamasi, and a set of game developers working on DX10 titles. Continued…

Use of this site is governed by our Terms of Use and Privacy Policy. Copyright 1996-2016 Ziff Davis, LLC.PCMag Digital Group All Rights Reserved. ExtremeTech is a registered trademark of Ziff Davis, LLC. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis, LLC. is prohibited.