Page 25 - ShaderMark 2.0
ShaderMark 2.0DirectX 9 Pixel and Vertex Shader 2.0 performance
To measure pure DirectX 9 Shader 2.0 performance we make use of ShaderMark 2.0 as supplied to us by Thomas Bruckschlegel, the programmer of thius software. ShaderMark 2.0 is a DirectX 9.0 pixel shader benchmark. All pixel and vertex shader code is written in Microsofts High Level Shading Language. ShaderMark provides the possibility to use different compiler targets + advanced options. Currently there is no DirectX 9.0 HLSL pixel shader benchmark on the market. Futuremark's 3DMark03 (www.futuremark.com) and Massive's AquaMark 3.0 (www.aquamark.com) are bases on hand written assembler shaders or partly HLSL shaders. HLSL is the future of shader development! The HLSL shader compiler and its different profiles have to be tested and this gap fills ShaderMark v2.0. Driver cheating is also an issue. With ShaderMark, it is easily possible to change the underlying HLSL shader code (registered version only) which makes it impossible to optimize a driver for a certain shader, instead of the whole shader pipeline. The ANTI-DETECT-MODE provides and easy way for non-HLSL programmers to test if special optimisations are in the drivers.
You can download ShaderMark here.
The software tests the following Shader techniques:
Shaders
- (shader 1) ps1.1, ps1.4 and ps2.0 precision test (exponent + mantissa bits)
- (shader 2) directional diffuse lightning
- (shader 3) directional phong lightning
- (shader 4) point phong lightning
- (shader 5) spot phong lightning
- (shader 6) directional anisotropic lighting
- (shader 7) fresnel reflections
- (shader 8) BRDF-phong/anisotropic lighting
- (shader 9) car paint shader (multiple layers)
- (shader 10) environment mapping
- (shader 11) bump environment mapping
- (shader 12) bump mapping with phong lighting
- (shader 13) self shadowing bump mapping with phong lighting
- (shader 14) procedural stone shader
- (shader 15) procedural wood shader
- (shader 16) procedural tile shader
- (shader 17) fur shader (shells+fins)
- (shader 18) refraction and reflection shader with phong lighting
- (shader 19) dual layer shadow map with 3x3 bilinear percentage closer filter
- glare effect shader with ghosting and blue shift (HDR)
- glare types: (shader 20) cross and (shader 21) gaussian
- non photorealistic rendering (NPR) 2 different shaders
- (shader 22) ollutline rendering + hatching
- two simultaneous render targets (edge detection through normals + tex ID and regular image) or two pass version
- per pixel hatching with 6 hatching textures
- (shader 23) water colour like rendering
- summed area tables (SAT)
- (shader 22) ollutline rendering + hatching
These results show you what a sheer amount of Shader power the 6800 series now have. Tommti Systems updated ShaderMark towards build 1e making it compatible with GeForce 6800. Remember the scores that you see are based on Shaders 2.0 full precision. Some of the shaders are not (yet) working as floating point texture shaders are not supported in NVIDIA's ForceWare drivers. Also bare in mind we had to use Beta drivers for the graphics card.
It's obvious that there is a more than massive performance increase for HLSL Shaders. The results put the FX series to a complete shame actually.
Vertex and pixel shader programming allows graphics and game developers to create photorealistic graphics on the PC. And with DirectX, programmers have access to an assembly language interface to the transformation and lighting hardware (vertex shaders) and the pixel pipeline (pixel shaders).
All real-time 3D graphics are built from component triangles. Each of the three vertices of every triangle contains information about its position, color, lighting, texture, and other parameters. This information is used to construct the scene. The lighting effects used in 3D graphics have a large effect on the quality, realism, and complexity of the graphics, and the amount of computing power used to produce them. It is possible to generate lighting effects in a dynamic, as-you-watch manner.