Optimus said:Since "-dxlevel 82" is implemented for all intents and purposes with the exception of full reflection on water, it would only make sense that they would finish this part and then release a patch which enabled mixed mode at default. Finishing this is no light task, but it is neither impossible nor hard. It is simply a matter of placing the very same camera view shader on the water with the camera placed at the correct angle with respect to the players view and then running the water shader on that output. The hardware is doing all the work. The programmer only needs to optimize the code. But I do not believe that any major optimization is necessary since the two are probably already optimized individually for dx9. Reflection is hard. Unreal has been doing it for nearly a decade.
The reflection/refraction code in the water and other objects seems to be by far the heaviest in all of HL2... Perhaps they intentionally left out the 'full' option, because that is the main reason why FX cards can't run the full DX9 path, FP16 or not?
What I meant by "theoretically impossible" is that if an unoptimized shader that uses standard dx9 calls is implemented in either FP16 or FP24, it should theoretically run with the same differential speed no matter the complexity of the shaders used. In other words, a six pipelined GPU should, theoretically, always run 1.5 (6/4) times as fast as a four pipelined GPU.
Not at all. You won't get perfect parallelism in all cases. Videocards render in 2x2 blocks... At the edges of polygons, part of these blocks will be processed in vain, because they don't belong to the polygon itself. So you'll never have 100% gain from the extra pixel processing power, and with bad cases (thin/small polygons), it will become quite inefficient. So even theoretically, six pipelines won't always run 1.5 times as fast as four.
While I understand the fundamentals of what you are trying to say, you should be more specific. What I believe you mean is that ATI cards are much more powerful with DirectX shaders. On the other hand, nVidia cards are much more powerful with OpenGL shaders. Anyone can verify that for themselves... Download the OpenGL SDK, write some shaders, and benchmark them (that way you know there won't be any driver 'optimizations')... and you'll see exactly what you see with Doom 3, Unreal Tournament 2004, and Far Cry... Oh wait! UT2k4 and FC are DirectX games... hmmm...
This is nonsense actually. There's really no such thing as 'DirectX shaders' or 'OpenGL shaders'. The hardware only supports one kind of shaders, and D3D's SM2.0 is very close to the ARB vertex/fragment programs... Which makes perfect sense, since they're both designed to run on the same kind of hardware.
The difference is that NV offers specific shader extensions for NV3x, which could improve performance... except Doom3 doesn't use them.
The reason why Doom3 runs well on FX cards is simple: driver optimizations. Even John Carmack himself mentioned that. He said that originally the ARB shaders ran much slower on FX than on the R300. The NV3x path ran slightly faster than the R300, at a slight cost of image quality. At some point, the ARB path started performing about the same as the NV3x path, so the NV3x path was removed... However, whenever a shader was modified even slightly, performance would drop back to the old level.
Anyone can modify the Doom3 shaders for themselves and verify that... the shaders are stored in one of the zip files, in sourcecode form.
So Doom3 doesn't prove anything, except that NV is still up to its old tricks with 'damage control' for the FX.
And by the way, there *IS* no OpenGL SDK...
Exactly, and all I'm asking is that they do this. They should go back and finish their mixed mode path so that nVidia GPUs can get the same IQ as their ATI counterparts, even if at a slower framerate.
As I said many times before, the choice is either good framerates or good IQ, on FX cards. Apparently Valve chose good framerates over good IQ. Which is probably the best choice for most gamers. It's much nicer to play a game that runs smoothly.
You may not agree with the choice Valve made, but that doesn't mean that Valve made the wrong choice for everyone. I think most people don't want the same IQ... Especially not the people with the slower FX models, like the 5200/5600. The game would probably be so slow that it's no longer enjoyable. DX8 looks very good, and gets excellent framerates on all FX cards. The kind of framerates people would expect from the kind of money they paid for their cards.