Module: wine
Branch: master
Commit: 50109aa969ccdc09acd0c4773c7c62a96fd78706
URL: http://source.winehq.org/git/wine.git/?a=commit;h=50109aa969ccdc09acd0c4773…
Author: Stefan Dösinger <stefan(a)codeweavers.com>
Date: Fri Jan 16 15:09:18 2009 +0100
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 | 12 +++-
dlls/wined3d/arb_program_shader.c | 21 +++----
dlls/wined3d/state.c | 122 +++++++++++++++++--------------------
dlls/wined3d/utils.c | 26 +++++---
dlls/wined3d/wined3d_private.h | 3 +-
5 files changed, 90 insertions(+), 94 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=50109aa969ccdc09acd0c…