Welcome Guest LOGIN | REGISTER
Monday 23rd July 2007

Dissecting DirectX 10

Posted at: Monday 23rd July 2007 by Stuart Andrews

Stuart Andrews takes a journey through a DirectX 10 3D graphics pipeline, and explains how GPU architecture has changed since the DirectX 9 days.

Secondly, the R600's texture units are much more efficient than those in the R580 when it comes to filtering textures; particularly the 16- and 32-bit floating-point textures required by high-precision HDR rendering techniques, which demand more colour and luminosity information than old-school 8-bit integer values could provide. R600 can handle FP16 textures at a full 16 pixels per clock, and FP32 textures at half this speed. However, R580 could only filter these textures using its pixel shader units, and couldn't handle them within the texture units themselves.

Surprisingly, while shader processors in the R600 architecture have increased to 320 from 56 (pixel plus vertex) in the R580, there hasn't been a corresponding increase in texture units. Richard Huddy offers two reasons for this. Firstly, texture units are bandwidth intensive - the more sampling being carried out, the more texture data there is floating around in the chip's internal bus, and the less bandwidth there is available for other tasks. This makes it cheaper to add more ALUs than to add more texture units. Secondly, in the past, programmers relied on texture samples for jobs such as specular highlighting, dragging a specular bitmap from texture memory and using that to apply the effect, whereas they now tend to create the effects using computation for more precise, effective and tuneable results.

Look at id Software's progress from Doom through to Quake 4. In Doom, it's all texture and no maths; in Quake, which adds light maps, it's two textures and one calculation per surface. By the time you get to Doom 3 and Quake 4, you're talking four or five shader calculations for every texture. With future games using the new Crytek or Unreal engines, this trend is expected to continue, particularly as developers embrace procedural textures and other similar effects. The downside, however, is that last- and current-generation games, not to mention some new games, still place heavy demands on texture units. This gives Nvidia's G80, which has texture units serving each of its eight SPU clusters, an advantage over R600 at the moment.

The Back End

At this point in the process, the dispatch processor has handed jobs to the ALU clusters. They're busy processing the fragments, grabbing vertex data from the vertex cache, and texture data from the texture units, and running a variety of complex calculations to make sure that the colour of a pixel reflects the correct texture, lighting, reflective properties and so forth. Once all the relevant shaders have been run on a pixel, the results are dumped out to what ATi charmingly calls the 'Render Back-End'.

The render output processors (ROPs) that perform the heavy lifting here then run a final check to ensure that only visible fragments will be rendered as pixels to the output buffer. After that, they ensure that the output of various shaders will be correctly blended together, and that any additional blends due to lighting will be applied. Traditional anti-aliasing processing is also performed at this stage, before the final image frame is sent to the frame buffer, ready for display.

More images for this article:

Submit to:  
Hands On Guides for this article
Comments

Its Stupid to make every body in the world upgrade to vista eventually and even more anoying is for us gamers and PC modders i think its all just a waste of time

Comment by Maddwilz at 7:56pm 10th August 2007



WAGHHHHHH VISTA NO WORKEEEE

theres talk about microsoft doing a turn around and offerin dx10 as an update coz nae body wants 2 spend a fortune on upgrade just like me lol im going back 2 my amiga 1200 and wipeout 2097 yassssssssssss

Comment by GUMBANATOR at 7:23pm 5th August 2007



A Vista Work Around

If you want all the Dx10 benefits in Company of Heroes without getting a Vista machine here is what you do. Take out half your RAM, underclock your CPU to about 75% of the speed and then replace your graphics card with an X1300 or similar. That should nicely replicate the prolapsed frame rate and compromised graphics settings enjoyed by Dx10 Company of Heroes players (unless they have beta drivers).

Comment by Grotmonkey at 9:46pm 31st July 2007



Do I really need Vista for dx10?

I REALLY don't want to buy vista just to play a DX10 game. Anyone know anyway around it?

Comment by clipkilla at 6:04pm 30th July 2007



Make a Comment

Mobile Broadband

Compare prices

Fastest, cheapest 3G mobile broadband dongles from 3, Vodafone, T-Mobile and Orange
from just £10/month

Button link to Mobile Broadbandgenie.co.uk
Powered by
Broadband Genie