Fantastic job Tertsi! The specular looks good now. I used to hate the way every had too much specular glare.
It's also a fantastic adverisement for FP16 and clearly demonstrates there isn't a quality drop off when used correctly and the game supports it.
(For anyone who wants to claim FP16 in doom is cheating, read this carmack quote below)
The quote is from me. Nvidia probably IS "cheating" to some degree, recognizing the Doom shaders and substituting optimized ones, because I have found that making some innocuous changes causes the performance to drop all the way back down to the levels it used to run at. I do set the precision hint to allow them to use 16 bit floating point for everything, which gets them back in the ballpark of the R300 cards, but generally still a bit lower.
Removing a back end driver path is valuable to me, so I don't complain
about the optimization. Keeping Nvidia focused on the ARB standard paths
instead of their vendor specific paths is a Good Thing.
The bottom line is that the ATI R300 class systems will generally run a
typical random fragment program that you would write faster than early NV30 class systems, although it is very easy to run into the implementation
limits on the R300 when you are experimenting. Later NV30 class cards are
faster (I have not done head to head comparisons with non-Doom code), and the NV40 runs everything really fast.
Feel free to post these comments.
I'd love the chance to ram this utility where the sun don't shine where Dave Baumann and his precision / shader replacement claims are concerned, but, unfortunately he banned me from Beyond3d because I made him look stupid and biased one time too many...