Game Test 4: "Mother Nature"

Essentially this test appears to be a follow on from 3DMark2001's "Nature" test. A similar waterside scene is used, but this time its purpose is to showcase the DirectX9 functionality with VS2.0 and PS2.0.


Click for a bigger version

Game Test 4: Mother Nature


The Nature scene in 3DMark2001 used plenty of Alpha textures to simulate detail of grass and leaves. The use of alpha's made the test very dependant on bandwidth, rather than the Vertex and Pixel Shader that were supposed to be what was being tested. 3DMark03's Mother Nature test redresses that by actually generating this level of detail, with each blade of grass and leaf moving separately, geometrically using Vertex Shaders. The leaf shader (program) uses VS2.0's "sincos" functionality in order to simulate natural movement. The movement of the blades of grass was initially coded as a VS2.0 target, but as they got into it Futuremark realised that that the grass model could fit into VS1.1 shaders.

The lake surface uses Pixel Shaders 2.0, with multiple texture stages to reproduce the water effect -- a ripple map, two reads of a normal map, a reflection map, a reflective cube map (for distant objects), a transparency map and also per pixel Fresnel is calculated. The sky utilises PS2.0's higher dynamic rage to calculate the over-bright lighting effects from the sun. PS1.4, with a colour map, a detail map, a light map, a bump map, and a normalization cube map, is used on the ground which has over-bright sun reflections on some parts and becomes darker in the areas when the clouds pass overhead.

Game Test 4 Technical Summary:

  • DX9 hardware with PS2.0 support required
  • VS2.0 used for modelling the swaying of individual leaves.
  • PS2.0 used for the lake surface and sky. Higher dynamic range used in calculating the sun
  • The ground uses 1.4 pixel shaders, with a colour map, a detail map, a light map, a bump map, and a normalization cube map.
  • Approximately 780,000 polygons are rendered per frame.
  • 50MB video memory is used for textures, 54MB for vertex buffers and 9MB for index buffers.

Score Calculation

As with previous version of 3DMark the test will be given a final score to rate the 3D card/system. The score calculation is as follows:

3DMark03 score =
(Game Test 1 frame-rate x 7.3) +
(Game Test 2 frame-rate x 37) +
(Game Test 3 frame-rate x 47.1) +
(Game Test 4 frame-rate x 38.7)

The multiplication number seems a little arbitrary upon first looks, but these have been calculated by running the tests on a number of high end systems and weighting the scores such that Game Test 4 equates to 20% of the final score, while the remaining 80% is split evenly to the other three tests.

The aim is to have current high end DX9 3D boards and high end systems scoring about 5000 3DMarks initially, although obviously this will increase as 3D and system power increases with newer hardware.

Frame Based Rendering

Normally the tests are carried out on a time based rendering scheme with the scene rendering as many frames per second over a set period of time, however Futuremark have introduced a frame based rendering system for further analysis. With the frame based rendering system you can tell the benchmark to render a set number of frame for each test as fast as possible, and those frames can be carried across from one system to the next to compare different systems running the same workloads.

The Frame based rendering system will not be utilised in calculating the overall score, it is only available as a further analysis tool.