"Sorry, stuff like this annoys me. If you don't want to code with varying hardware in mind then you should be coding for consoles. Writing games for the PC is all about catering to the wide variety of hardware that's available and making sure that you're supporting as much as you can whilst trying to get the best performance out of it."
It is not the fact that non standard optimisations are annoying or costly that is the real issue (altough that will certainly affect smaller game developer for the worse, delay big games and mean bigger driver downloads). The main problem is that the NV3x is advertised and sold as a fully compliant DX9 capable 'future proof' card when in fact it has crippled ARB2/DX9 next-gen performance. It really doesn't matter how good you are at coding - you just cannot run proper full precision shaders and use the kind of features that depend on them (ie. HDR Lighting) with NV3x hardware at a good FPS. It not that Carmack and everyone else can code whereas Valve are just lazy. This is not apples to apples - D3 simply does not use 1,200 version 2.0 Pixel Shaders and it is Open GL not D3D... It is based primarily around powerhouse DX7/8 hardware not DX9 stuff like HL2... A custom mixed mode can be used in places and _pp lookup can be used to lower IQ for performance but you cannot magically make up for the NV3x's poor shader abilities...
This comment was edited on Sep 18, 09:28.