Re: 3DMark 2005 Screenshots
Here's a little snippet from an article in an Aussie Mag:
To appreciate 3DMark05, one has to look at FutureMark's fourth and current release, 3DMark03. Up until 03, the engine used to create 3DMark has been the MAX-FX engine from Remedy Entertainment originally created for Max Payne. With DirectX 9.0 though, Mutlitexturing went out of favour and shaders became the central element. The aging MAX-FX engine wasn't designed with this in mind and the decision was made to start over with a new engine bred for DirectX 9.0 shaders. The end result was 3DMark03, a well received benchmark that didn't however blow away the audience in the same way as its predecessor. The major issue was that it didn't exlpoit the possibilities afforded by DirectX 9.0; out of the four tests, only Mother Nature used DirectX 9.0 features. At the time, DX9.0 hardware sales had not reached critical mass. Now DX9.0 has trickled its way down to mainstream, the developers of 3DMark are finally making the benchmark that will have today's DirectX9.0 cards struggling under the strain and begging for release. Just the way we like it!
Bear in mind: if your card doesn't support pixel shaders 2.0 or higher, don't bother with 3DMark05. You find any half-assed DirectX8.0 tests here; every test will use DirectX9.0 features in one form or another. In fact they are designed for the second generation of DX9.0 GPUs, those that support up to PS3.0
The most radical change in 3DMark05 is the way shaders are actually created - a shader describes the relationship between the type of material and a type of light. The problem is everyone wants to see lots of shader effects and there is no shortage of material/light combinations. Skin lit with a point light is different if lit with a directional light. Ambient lit metal has different shader code to ambient lit marble. 'In an actual game with enormous amount of graphics content, different objects with different materials and different shaders for all those, the total amount of shaders get completely out of hand and become very hard to manage' says Patric Ojala, the senior manager of benchmark development at Futuremark.
The solution they came up with was to automate this process and build shaders as they are needed. Although there are many material/light combinations, a particular material will behave similarly (though not the same) for different types of lights. With a dynamic shader engine, you can write the shader once and let the engine generate the different versions of the shader for different lights. Based on what artists specify, the engine can even create shaders on the fly. Patric explains: "Our solution is to procedually make only the shaders that are needed for rendering the next frame, If a new material appears in the next frame, we make a shader for it, but no sooner than that. This way the code and content is easier to manage, and the rendering engine is more flexible."
While 3DMark03 used mostly DirectX8.0 level shaders, 3DMark05 has really cranked up what DX9.0 can do. Materials are significantly more complex, and where appropriate, previous hacks have been replaced with more robust solutions. Many of the materials do Blinn-Phong shading or some modification to it.