In 3DMark03 Games tests 2 (Battle for Proxycon) and 3 (Trolls Lair) were designed to mimic the Doom3 rendering model in DirectX, with an initial Z-Only pass and then a shadow pass for each dynamic light. Will any of the game tests be following a similar rendering model as this, or is it "all change"?

Nick: The next 3DMark is completely different from what 3DMark03 is. The engine is new, shaders are new (dynamically runtime built HLSL shaders), the shadow technique is new. It is an all new 3DMark version!

Patric: I think we worked enough with stencil shadows last time. If you want to measure that, why not use 3DMark03? The early footage of Doom3 did indeed inspire us, but our goal was really not to try to ‘measure Doom3 performance’ or ‘mimic Doom3 in DX’. Also, stencil shadows are a better choice in darker indoor scenes with less space and less edges throwing shadow volumes. Our new shadow model is based on perspective shadow maps (PSM). There are no shadow volumes adding TONS of fill rate and vertex load like in stencil shadows, but it is still a global solution with self-shadowing. Who knows if some even better dynamic shadow implementation is invented for the 3DMark version after this next one.

In these two game tests the shadowing obviously makes heavy use of stencil shadows, which aren't necessarily the best for producing soft shadowing techniques. Are you looking at any alternative shadowing methods in the next 3DMark?

Patric: These days projected shadow maps seem like the best choice if you want soft dynamic shadows, and I think most games out today with soft shadows use that. There are extensions to perspective shadow maps offering soft shadows, but those tend to be very heavy on the hardware and more suitable for small tech demos than full scale games. For example the Smoothie trick requires the identification of the edges throwing the shadows, which was one of the burdens of stencil shadows. For soft shadows we would still probably choose projected shadow maps, but we did that already in 3DMark2001. Then again, back in the ‘2001 days sharp edged projected shadows were quite enough for the hardware.

3DMark03 obviously caused a lot of contention in some quarters, due to the performance with the PS2.0 tests. Part of the reason for this was that you chose to utilize full precision float shaders and NVIDIA's hardware wasn't optimal in these conditions, despite it being the DirectX default. Would you like to expand on the reasons for this choice? Will 3DMark04 be utilising a mix of full and partial precision shaders in the game tests, dependant on whether the quality allows it? If so, will you be offering options to test partial, mixed and full precision modes such that performances and qualities can be compared?

Patric: Full precision is indeed the DX default and the very few places we used float values in 3DMark03 full precision was needed to keep the image quality. Then again, most materials in ’03 used 1.x shaders that are all fixed point. Now all shaders are SM 2 or 3 and many materials look just the same in full and partial precision. We therefore have a precision mix as default. Materials that get rendered the same in half precision are allowed to use that if the hardware supports it. Then again, if some material gets reduced image quality in half precision, full precision is forced. We plan on adding a switch to force full precision in all shaders for comparison, but that’s only an optional setting.

DirectX9 brought various forms of branching in the shader pipeline - with PS2.0's basic static constant branching, VS2.x's dynamic branching, PS2.x's conditional write masks and Shader Model 3.0's full dynamic branching.
3DMark03 made no use of any branching code, either for Vertex or Pixel shaders - will this change in 3DMark04 at all?

Patric: We are currently testing branching, so it’s a bit early to say how much of it will be included in the final product.