Game Test 4

NVIDIA also commented on the shader use in the new DX9 game test in 3DMark03:

"This year's 3DMark has a new nature scene. It is intended to represent the new DirectX 9.0 (DX9) applications targeted for release this year. The key issue with this game scene is that it is barely DX9. Seven of the nine pixel shaders in this test are still ps1.4 from DX8. The same issues about ps1.4 shaders described above apply here. Only two of the pixel shaders are the new ps2.0. Consumers believing that this test gives a strong look at the future of games will find it merely provides a brief glimpse, if at all."

Again, we can see that it appears NVIDIA are taking issue with the use of lower than PS2.0 shaders in the test, claiming that because DX9 shaders are not used all the time it's 'barely' a DX9 test. One reader in our forums suggested that if this also used multi-texturing, it would be classified as mainly a DX7 test?

The advent of PS2.0 capable hardware does not mean that all previous version of shaders will disappear, or that developers will necessarily stop using them. On the contrary, the MS DX specification states that hardware supporting PS2.0 should be backwards compatible with all prior shader versions, so where NVIDIA have not supported PS1.4 in their DX8 boards they will have support on their DX9 boards.

Whilst at NVIDIA's Dawn-Till-Dusk, and subsequent to that, I talked to a few developers on the state of shader uptake and how things are likely are playing out for some of them. From the developers I spoke to it looks as though DX8 is going to be one of those releases that falls through the gaps; while it introduced a number of important and exciting features, it didn't have the tools to make the majority of developers really push it - sure there were a few that made use of shaders, but on the whole it didn't offer enough rewards to make the developmental effort in learning the shader assembly worthwhile. With DX9 this is changing, partly because the hardware and shaders are becoming more flexible and compelling, partly because developer are ultimately realising that they will have to get to grips with shaders and partly because of the introduction of HLSL.

As more developers begin to dabble with the use of shaders in their code, they may begin to realise that what they initially had targeted as, say, a PS2.0 shader may actually fit into a PS1.4 shader, or even lower. If you can get good effects to fit into lower shaders then it's still a benefit because the target market is suddenly increased.

Some have attested that with the advent of PS2.0 shaders PS1.4 will fall by the wayside, with PS1.1 getting the lion share of DX8 titles because of GeForce3/4's market share and PS2.0 being targeted for DX9 titles / hardware. But is that really the case? Is it not possible that what has been seen with Futuremark's development process may not be replicated elsewhere? Well, I'm no developer, nor do I know what everybody has in the works, but here are a few points to consider:

  • PS1.4 has had hardware support since the introduction of Radeon 8500.
  • PS1.4 has been implemented on Radeon 9000; ATI's entry level board, equivalent to the shader-less GeForce4 MX, and is currently shipping on several large OEM configurations such as HP/COMPAQ.
  • DirectX9 compliant boards should be backwards compatible, meaning hardware vendors other than ATI will support the feature in their DX9 parts.
  • DirectX9 HLSL can compile to all current levels of Shader functionality, so developers can attempt to compile a shader by going through each level and seeing which version it will fit in.
  • ATI's developer relations are likely to still be pushing it.

It may well be the case that PS1.4, and earlier versions, will now fall by the wayside as more complex shader versions come along, but it seems as though the developer community at large is just beginning to scratch the surface of shader technology and it may be a little difficult to predict exactly how the cards will fall right now.

It's worthwhile taking note of Futuremark's response regarding the usage of shading techniques for Game Test 4.