Hardware Secrets
Home | Camera | Case | CE | Cooling | CPU | Input | Memory | Mobile | Motherboard | Networking | Power | Storage | Video | Other
Content
Articles
Editorial
First Look
Gabriel’s Blog
News
Reviews
Tutorials
Main Menu
About Us
Awarded Products
Datasheets
Dictionary
Download
Drivers
Facebook
Links
Manufacturer Finder
Newsletter
RSS Feed
Test Your Skills
Twitter
Newsletter
Subscribe today!
Search
Recommended
Build Your Own PC Do-It-Yourself For Dummies
Build Your Own PC Do-It-Yourself For Dummies, by Mark L. Chambers (For Dummies), starting at $6.26


Home » Video
DirectX Versions
Author: Gabriel Torres 157,609 views
Type: Tutorials Last Updated: July 1, 2008
Page: 2 of 2
The Main Differences

In the previous page we listed all DirectX versions that have already been launched, but we did not explain the difference among them. For instance, what makes the DirectX 7 better than the DirectX 6?

In general a new version is launched to permit the system to recognize the most modern features of the graphic chips, so it can use these features in case your video card have them, increasing both the 3D performance of the machine and the image quality.

DirectX 6 brought as its main innovation the resource of environment mapped bump mapping. With this resource it is possible to create imperfections on the surface of 3D object more easily, making them more realistic.

Since the GeForce256, graphic chips started to make part of the necessary calculations for the generation of three-dimensional objects, a task that was previously exclusive of the system processor. These stages are for transformation and lightning, abbreviated as T&L. DirectX 7 was launched to recognize this feature and to transfer the stages of transformation and lightning from the system processor to the graphics chip. DirectX 7 graphic chips include all GeForce 2, GeForce 4 MX, GeForce MX, GeForce PCX 4300, Radeon 7000, Radeon 7200, and Radeon 7500 series.

With DirectX 8 two new features now very well-known became available, making 3D images much more realistic: Pixel Shader and Vertex Shader. 3D Objects are created using hundreds or even thousands of polygons, such as triangles and squares. Over those triangles or squares texture are applied (surfaces) or colors, forming the three-dimensional object. With Vertex Shader the 3D program is capable of changing the characteristics of each vertex of each object polygon. With Pixel Shader the program is capable of changing the characteristics of each pixel (dot) of each polygon. Before those resources existed, the change of those characteristics was not possible, in other words, it was only possible to change the characteristics of the whole polygon, which affected all its points at the same time. Thus, with these two new features the images became much more realistic, for each point of each polygon became programmable.

DirectX 8.0 allowed Pixel Shader to be programmed with up to 12 instructions at a time. This limit was considered insufficient and soon DirectX was reviewed for the 8.1 version, to allow the use of 22 instructions at a time. Graphic chips based on this model include GeForce 3, GeForce 4 Ti, and Radeon 8500, Radeon 9000, Radeon 9100, Radeon 9200 and Radeon 9250.

To enhance the performance and the increase the quality of three-dimensional objects, DirectX 9.0 was launched supporting Shader 2.0, where Pixel Shader can use up to 96 instructions at a time. Several graphics chips use this model, as those from the GeForce FX series and the ones from the Radeon 9500 through 9800 series and Radeon X300 through X800 series.

Shader 3.0 was introduced with DirectX 9.0c and permits the use of up to 65,535 instructions at a time. Graphics chips that are based on this version are GeForce series 6 (e.g., GeForce 6600, 6800, etc) and 7 (e.g., GeForce 7600, 7800, etc) and Radeon series X1000 (e.g., Radeon X1600, X1900, etc).

DirectX 10 brought Shader 4.0 model. This model brought an important change in the architecture of graphics chips. Up to DirectX 9.0c-based graphics chips, the chip has separated processing units for processing pixel shaders and vertex shaders. In some circumstances all pixel shader units were being used, the vertex shader units were idle and new pixel shader instructions needed to wait, because all pixel shader processors were busy, even though the vertex shader processors were idle. On DirectX 10-based graphics chips the processing units are generic and can be used to process any kind of information, solving the problem we’ve just explained: on DirectX 10-based video cards instructions need to wait only when all processors are busy, regardless of the kind of instruction. This architecture is called Unified Shader Architecture. DirectX 10 also introduced a new shader type, geometry, and other features to transfer more processing from the system CPU to the graphics chip. An in-depth explanation of all main new features introduced by DirectX 10 can be found on NVIDIA’s DirectX 10 technical brief.

Graphics chips that are based on this architecture include GeForce series 8 (e.g., GeForce 8600, 8800, etc), 9 (e.g., GeForce 9600, 9800, etc) and 200 (e.g., GeForce GTX 260, GTX 280) and Radeon HD 2000 series (e.g., Radeon HD 2600, HD 2900).

You can see below the main differences between DirectX 9 and DirectX 10.

Resources

DirectX 9

DirectX 10

Temporary Registers

32

4,096

Constant Registers

256

16 x 4,096

Textures

16

128

Render Targets

4

8

Maximum Texture Size

4,048 x 4,048

8,096 x 8,096

In the table below you see a comparison between shader models 1.0 (DirectX 8.1), 2.0 (DirectX 9.0), 3.0 (DirectX 9.0c) and 4.0 (DirectX 10).

 

Shader 1.x

Shader 2.0

Shader 3.0

Shader 4.0

Vertex Instructions

128

256

512

65,536 *

Pixel Instructions

4+8

32+64

512

65,536 *

Vertex Constants

96

256

256

16 x 4,096 *

Pixel Constants 

8

32

224

16 x 4,096 *

Vertex Temps

16

16

16

4,096 *

Pixel Temps

2

12

32

4,096 *

Vertex Inputs

16

16

16

16

Pixel Inputs

4+2

8+2

10

32

Render Targets

1

4

4

8

Vertex Textures

-

-

4

128 *

Pixel Textures

8

16

16

128 *

2D Texture Size

-

-

2,048 x 2,048

8,192 x 8,192

Int Ops

-

-

-

Yes

Load Ops

-

-

-

Yes

Derivatives

-

-

Yes

Yes

Vertex Flow Control

-

Static

Static/Dynamic

Dynamic *

Pixel Flow Control

-

-

Static/Dynamic

Dynamic *

* As DirectX 10 implements unfied architecture, this number is the total for the whole unified architecture and not for this individual spec.

DirectX 10.1 brought small enhancements. Currently only video cards from Radeon HD 3000 (e.g., Radeon HD 3450, HD 3870, etc) and HD 4000 (e.g., Radeon HD 4850, HD 4870, etc) families are based on DirectX 10.1. The slide below summarizes the differences between DirectX 10 and DirectX 10.1. Further information can be found on AMD’s DirectX 10.1 whitepaper.

DirectX 10 vs. DirectX 10.1
click to enlarge
Figure 1: Main differences between DirectX 10 and DirectX 10.1.

We summarize all DirectX versions in the table below.

Version

Main Innovation

DirectX 6

Environment mapped Bump Mapping

DirectX 7

Transformation and Lightning in the graphic chip

DirectX 8

Shader 1.0, 1.1 and 1.2

DirectX 8.1

Shader 1.3 and 1.4

DirectX 9.0

Shader 2.0

DirectX 9.0c

Shader 3.0

DirectX 10Shader 4.0, Unified Shader Architecture 
DirectX 10.1Shader 4.1

You can learn what DirectX version your video card is based on by taking a look at these two other tutorials:

Print Version | Send to Friend | Bookmark Article « Previous |  Page 2 of 2

Related Content
  • How to Transform your Old GeForce into a Quadro Chip
  • Video Card BIOS Upgrade
  • Counterfeit GeForce 2 MX 400 Boards
  • Arctic Cooling Accelero Twin Turbo VGA Cooler Review
  • Deepcool Gamer Storm Dracula VGA Cooler Review

  • RSSLatest Content
    ASUS X99-DELUXE Motherboard
    September 30, 2014 - 1:07 AM
    MSI GT70 2PE Dominator Pro Laptop Review
    September 25, 2014 - 1:15 AM
    Sony Xperia T3 Smartphone Review
    September 22, 2014 - 1:50 AM
    ASRock D1800B-ITX Motherboard
    September 18, 2014 - 3:20 AM
    PNY XLR8 120 GiB SSD Review
    September 10, 2014 - 3:30 PM
    ASRock D1800M Motherboard
    September 8, 2014 - 1:37 PM
    Samsung Chromebook Review
    September 2, 2014 - 6:30 PM







    2004-14, Hardware Secrets, LLC. All rights reserved.
    Advertising | Legal Information | Privacy Policy
    All times are Pacific Standard Time (PST, GMT -08:00)