Am Freitag, 11. April 2008 16:10:49 schrieb H. Verbeet:
Sure, but they don't generally break if you just return 8 there. (Compared to eg. HL2/CSS in dxlevel70 without D3DTA_SPECULAR). Of course the proper way to get around all of the issues at the same time would be to write a real GLSL fixed function fragment processing implementation, but that doesn't change the fact that the current situation is pretty ugly.
I don't think it's the D3DTA_SPECULAR that breaks things. HL2 doesn't use it. If it finds pixel shader support advertised it suddenly works without D3DTA_SPECULAR support and does not use pixel shaders either, so I think there's a different capability flag issue there(or HL2 is just broken on cards without pixel shader support nowadays).