Game Test 2: "Battle of Proxycon"

The "Battle of Proxycon" game test is set in outer space as the enemy is trying to breach the space ships hull. The style of the scene is meant to be representative of a First Person Shooter, with much of the action taken from that perspective. Although set in a different location, the style and mood of the rendering is reminiscent of Doom III's atmosphere and the similarities are more than just skin deep...

Game Test 2: "Battle of Proxycon"

Recognising that the next wave of upcoming games are likely to be based on the DirectX8 API specifications, now that DirectX8 hardware has been available on the market for some time, Futuremark have made this test a DirectX8 test. Not only is DX8 used though, DX8.1 (and above) parts will see a boost from this test if they feature Pixel Shader hardware capabilities up to PS1.4.

The first area that this test holds some similarity to Doom III style rendering is the use of its dynamic shadowing system. Like Doom III, Game Test 2 uses the Stencil Buffer to generate the shadows that are produced from the multiple light sources in the scene. In order to keep the CPU utilisation to a minimum for actually rendering the scene, as much of the work as possible to calculate the stencil shadows is done via Vertex Shaders. Character Skinning is also done via the Vertex Shader, thus the test is trying to measure the true Vertex and Pixel Shader performance of the 3D parts as much as possible, rather then being heavily reliant on the CPU. Also, this test will benefit from DX9’s single pass stencil operation if the hardware supports it, meaning that Radeon 9500/9700 and Geforce FX based boards will be able to render the stencil shadows faster than boards that do not support this feature.

Another area in which this test resembles Doom III is the use of Normal Mapping. Normal mapping is a technique that uses special textures known as 'Normals' that enable scenes to have what looks to be very high levels of detail, but are in fact actually quite low levels of geometry. Another example of this technique was highlighted with ATI's car demo, as seen here. ATI has a Normal Mapper tool, and Crytek have a commercially available 'Poly Bump' tool that can create normal maps from high detail geometry models; the models are used to generate the normal maps and then these normals can be used in an environment to simulate the high detail on much lower geometry level characters. This technique of using higher level geometry models to generate the normal maps is the same technique that Futuremark have adopted in this test.

Click for a bigger version

Continuing with the Doom III comparisons, the new id engine will utilise a technique where a 'lite' geometry pass is done first to fill out the Z-buffer. The point of doing this is that when the pixel processing is done, which can be quite intensive when calculating the number of light sources, cards with early Z reject mechanisms will not waste processing time rendering unseen pixels. Game Test 2 utilises this same method of rendering, and Pixel Shader 1.1 hardware will require a total of 4 passes for each frame: one pass for the Z buffer initialisation, a stencil pass, a light fall-off to alpha buffer and a pass for diffuse and specular reflection using look up tables. However, for hardware with support for PS1.4 specification these last three light source passes can be collapsed into one meaning that only the Z initialisation and one other pass need be made. Initially this single pass routine was designed to benefit DX9 PS2.0 hardware, however during programming the benchmark Futuremark realised that the model would also fit into DX8.1 PS1.4 hardware – PS2.0 capable hardware is backwards compatible and so should be able to run PS1.4 shaders.

This test also has post-processing effects such as Depth of Field and ‘Bloom’, which is calculated using PS1.1 hardware. The Depth of Field effect is created by blending the originally rendered frame with a blurred version of it hence, dependant on the focus of the camera, objects closer or further away appear more blurred than those within the focus. The Bloom effect is also used to simulate overbright lighting and is achieved by additively blending blurred highlights to the original frame. Both of these effects are not enabled by default in the actual game tests (although they are in the demo), but can be selected as a configurable option; they will not be enabled with FSAA active either.

Finally, one of the issues that previous versions of 3DMark had was that it was a synthetic test, and didn't calculate all that would be going on in a gaming engine. Games will need to simulate physical environments, otherwise you'd be walking though walls, falling through floors, floating around the place or all manner of things that would seem odd to us, and this is something that will require CPU time to calculate. In order to more accurately simulate a gaming environment, rather than just a Synthetic test, Futuremark have adopted the Havoc physics engine which is used to calculate falling characters and crashes.

Game Test 2 Technical Summary:

  • DX8 hardware with PS1.1 support required
  • 128MB onboard memory required to ensure no host texture uploading during the test
  • Vertex Processing via VS1.1
  • Pixel Processing uses either PS1.1 or PS1.4 if supported
  • Most objects have a colour map, a normal map, and a lookup table for specular and diffuse reflection. Characters are vertex shader skinned.
  • Dynamic Shadows via Stencil Buffer
  • Utilises Havok real-time physics engine
  • Approximately 250,000 polygons are rendered per frame using 1.1 pixel shaders. With 1.4 pixel shaders this number is lowered to approximately 150,000 due to reduced number of rendering passes.
  • 80MB video memory used for textures, 6MB for vertex buffers and 1MB for index buffers.