Vertex Shader Test
Vertex shader feature tests have been included in 3DMark since 3DMark2001, which presented DirectX8, where vertex shaders were initially presented. The vertex shader tests replaced the earlier polygon throughput tests, or called high polygon tests in 3DMark2000. Polygon throughput is with fill rate the most important single performance characteristic in 3D rendering. Since 3DMark03, 3DMark has used vertex shaders for all vertex processing in the game tests. Vertex shader tests have therefore been a logical substitute for the earlier fixed function vertex throughput tests. There are two different vertex shader tests in 3DMark05: One very simple doing only very simple transformation and one light lighting. The other does a more complex vertex shader waving a large number of grass straws.
Vertex Shader – Simple. This test does simple transformation and single light lighting on six high polygon sea monster models. Each sea monster has over one million vertices to transform and illuminate, so the total workload is quite substantial. The vertex shader used here could quite well fit into a shader model 1 vertex shader, but since 3DMark05 concentrates on SM2 and offers different SM2 (and 3) profiles to choose from, the shader is declared in HLSL and SM2 as all shaders in the game tests.
Vertex Shader – Complex. This illuminates, and most importantly, transforms a large number of grass straws. Each straw is skinned and bent separately, more towards the tip of the straw, like real grass straws waving in the wind. The straws are waved according to a fractal noise calculated on the CPU, but it is highly optimized to decrease the influence of the CPU performance on the measurement. The grass is kept at a distance from the camera, offering a less interesting visual effect, but this is necessary to decrease the influence of fill rate to the measurement.