wined3d: Get rid of last_was_foggy_shader & friends.
commit50109aa969ccdc09acd0c4773c7c62a96fd78706
authorStefan Dösinger <stefan@codeweavers.com>
Fri, 16 Jan 2009 14:09:18 +0000 (16 15:09 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 20 Jan 2009 11:45:40 +0000 (20 12:45 +0100)
tree127c1c27c5bce3ebaf6df622cfd2c7870be54c89
parent3c3272dc413d6ffb78c4a91ae7c2e69de6521c17
wined3d: Get rid of last_was_foggy_shader & friends.

The fog settings do not depend on wether the shader writes to oFog or not,
instead they depend on the FOGVERTEXMODE and FOGTABLEMODE settings, and if a
vertex shader is bound at all.

It works the same way as with the fixed function, and having a vertex shader
is the same as using pretransformed vertices, just that the fog coord comes
from the shader instead of the specular color:

FOGTABLEMODE != NONE: The Z coord is used, oFog is ignored
FOGTABLEMODE == NONE, with VS: oFog is used
FOGTABLEMODE == NONE, no VS, XYZ: Z is used
FOGTABLEMODE == NONE, no VS, XYZRHW: diffuse color is used
dlls/d3d9/tests/visual.c
dlls/wined3d/arb_program_shader.c
dlls/wined3d/state.c
dlls/wined3d/utils.c
dlls/wined3d/wined3d_private.h