Why does the Source DX8 codepath look so poor?

Fodder

Stealth Nerd
Veteran
I was fooling around with codepaths in Source, flicking between DX5/6/7/8/9 to see how it will look for folks with less capable cards, and was quite shocked by the huge difference in quality between DX8 and DX9 on areas where shaders are used. I don't profess to have any experience whatsoever as far as graphics coding goes, but I was surprised that they couldn't make the DX8 path look any better than the somewhat mediocre results provided. For those of you in the know, why is it that DX8 cards are lumbered with thick black lines between tiles, visible 'stepping' on the flagstones, and so on? Surely DX8 isn't that limited?





DX9 on the left, DX8 on the right, click for full size.
 
thop said:
I fail to see the huge difference.

I agree, and i'll add that i like the DX8 path better, at least on the picture with the tiles.
 
You honestly like the wood that isnt near as realistic? The DX9 has far more "bumps and cracks", and just overall looks more real.

Everyone is entitled to an opinion, I just dont see how you can say that on this one.
 
More than new features new hardware always seems to really do more of the old stuff. If you go back to the first directx 8 graphics cards with ps support geforece3/8500 you will see the instruction count on shaders is very small compared to what new cards are capiable of. For example ps1.1(geforce3 still a popular card) can only do 8 instructions where anything with ps2.0 can do 64. and shader version 3 hardware is in the eraly stages of trying to remove these types of arbitray limits and leaving it up to performance to decide how many instructions is good.

This is one of the key reasons why demos can do stuff games can't dream of the other is cpu limits.

One of the key things shaders allow you to do is decrease model complexity and let normal maps and other shaders do the work. So previously many of the visual effects where done by the artist and incoded into the model directly well now more of this visual quility lies in the shaders which let's you use more models on screen that contain less information, you can see how this new way is not as good for old hardware as the old way. Old hardware is forced to sacrifice certain shaders and you will try to pick the ones that are have the smallest impact on quility, but many of the effects that in past generations may have been stored in textures or model data just will not exist for these old cards, unless you sen the artist off to create it and this is time that could be spent on other new "cool" assets.

In the end engines have "target hardware" and they will look/run the best on this hardware.
 
Might be that the DX8 shaders don't do normalization but use a cube map lookup (but not for every vector), or may just use interpolated normals, due to speed and lack of instruction slots.

It's not precision, since on the R3xx you get fp24 no matter which precision you ask for.
 
DemoCoder said:
It's not precision, since on the R3xx you get fp24 no matter which precision you ask for.
I think it's obvious to many that precision is not the difference here.

And, of course, FP24-only-no-matter-what-you-want is not limited to just the R3xx... it's all parts including and after R3xx.
 
There are differences in the rendering but I don't think either is better or worse other than the crazed black line on the 1st dx8 shot following the tile grout. That looks like a bug maybe?
 
yeah definitely.

They should try to emulate the dx8 path with the dx9 cards ;)

On the other hand, the game engine has been developped a long way from dx7 to dx9 so it's possible the effect/art pipeline was not created with the new dx9 cards in mind which would explain why dx9 doesn't look so good (kind of reminds me Tomb Raider or Halo PC).
 
Neither path looks pretty in those screenshots. Turn down the specular highlight on the tiles please Valve, they ain't plastic *shudder*

And the wood floor has more detail in the DX8 path.

Rys
 
Like many before me, I perceive the dx8 path to be "better" or more interesting. It seems dx8 is mostly a higher contrast version in terms of the tiles in both cases. Although the dx9 path seems more subtle in its rendering of depth in the cracks in the tiles, it does offer more depth in the fine details of the hands. One can see that the fingernail in the dx9 image seems to have a normal map where the dx8 does not. Where the dx8 nail looks flat and lifeless, slight ridging in the dx9 image brings it to life.

I can fully understand why many may prefer the dx9 renders. They are more subtle and probably more realistic. The preference comes down to whether you like "real" or the exaggerated looks often employed in games and film. It's like how American cars always explode on impact or every pipe in the water/heating system is shiny. It's not realistic, but it makes for interesting/eye-catching effects and looks.

Hmmm...the more I flip between the two versions the more I am becoming convinced that there is no bump mapping at all in the dx9 render. The hands have it, but it looks terribly flat otherwise. Perhaps it is just the lowered contrast or must be seen in motion. Not having the software at hand to test and study its options, I would venture a guess that the dx9 shots have features disabled that are enabled in dx8. Is it possible dx9 defaults to having certain features disabled, such as "world bump mapping", where the dx8 path may have them on due to lowered rendering overhead elsewhere?
 
Back
Top