New for the HD 3800 series is the presence of UVD – ATI’s Universal Decoder, which gives it full support for hardware decoding of all stages of video playback for HD DVD and Blu-ray. AMD makes much of the fact that UVD fully offloads decoding of the VC-1 codec while nVidia’s PureVideo HD does not, a potential problem seeing as a majority of HD DVDs are encoded with VC-1. However, VC-1 is a far less intensive codec so it really isn’t as much of an issue as AMD is making out, though at the same time, it is a difference that might matter to some. If you’re in the habit of doing other things with your system while watching your HD discs, for example encoding some other video material, then you’re going to want as much free CPU time as possible.
The big new feature of the card though is support for Direct X 10.1. It’s essentially Microsoft tidying up DX10 adding several features that should have been in the first cut but for time reasons didn’t make it.
DX10.1 brings several new things to the table, two of which are Global Illumination and Deferred Shading with Multi Sampled Anti-Aliasing (MSAA).
Global Illumination is a more accurate and sophisticated way of lighting objects in a scene. Previously, light maps were used to give the impression of a lit scene, but this doesn’t give good results with dynamic objects and lights. The new method creates hundreds of cube maps in a scene, with small virtual boxes containing a sphere at the centre. Each cube map is a reference point from which you can calculate how light will interact with nearby objects. By creating a cube map array, you can create many reference points and therefore more accurate lighting. DX10.1 enables this to be done quickly and efficiently so it can be done in real time.
In an ATI demo, millions of small balls were correctly lit by multiple light sources, and reflected light accurately and even onto each other in real time. It’s a subtle effect but better lighting is one of the most important ways of making 3D scenes more realistic, so it is an important technique.
”’Deferred Shading with MSAA”’
Many games around now use a technique called Deferred Rendering. This is where geometry in a scene is stored as a texture in a G-buffer and then rendering is done on this. This is an efficient way of performing effects, particularly lighting, with the advantage that you don’t have to light pixels that aren’t actually going to be seen on screen.