R600: Finally DX10 Hardware from ATI

Real World For Games

Source: AMD

Utilizing a tessellator in the pipeline accelerated the performance of games, which had access and were coded for it. This is the case for games built for the Xbox 360. Not only models can be morphed but entire environments. During the Ruby demo, the development team showed just how easy it was to generate an entire scene by using procedurally generated maps.

From this map of noise...

...to this final image using procedurally generated content in hardware.

The team started by showing how a height map could be generated by either using Perlin noise or another technique. They were able to generate a low-poly wire frame mesh of the terrain and a normal map from the same height map. From here the snow was added to the mountains using a shader. There was no need for an artist to touch up the entire scene, which would have taken countless hours. Once all of the code was written, the entire scene came alive and was dynamically controlled by a set of sliders for tessellation and the snowfall.

Swipe to scroll horizontally
Header Cell - Column 0 Low Resolution with TessellationHigh Resolution, No Tessellation
On-disk model polygon count (pre-tessellation)840 triangles1,280,038 triangles
Original model rendering cost1210 fps (0.83 ms)
Actual rendered model polygon count1,008,038 triangles1,280,038 triangles
VRAM Vertex buffer size70 kB31 MB
VRAM Index buffer size23 kB14 MB
Rendering Time821.41 fps (1.22 ms)301 fps (3.32 ms)

The memory footprint savings alone make it worth using tessellation. Then add in the cost savings for a studio measured by how much time it would take for an artist to create everything versus doing it procedurally. But here's the deal. While tessellation is a great feature, can you really expect that titles will come to market soon, which can use it? Let me put it this way, on the slide before the block diagram shown below, Boyd stated that a fixed function tessellator is already in the proposal and could even get its own stage in the pipeline.

Click for a larger image. Source: Chas Boyd "The Future of DirectX", GDC 2007

Xbox 360 already has these titles. Many tools like Softimage exist on the market that can port DX9 over to DX10. Future releases of DX10 will include tessellation. In what exact format will tessellation come? So far it looks similar to what we see in R600. Of course, the change to tessellation will not happen overnight but the question isn't a matter of "if" but "when." ATI was smart to include such a piece of dedicated hardware.