Module: wine Branch: master Commit: 50109aa969ccdc09acd0c4773c7c62a96fd78706 URL: http://source.winehq.org/git/wine.git/?a=commit;h=50109aa969ccdc09acd0c4773c...
Author: Stefan Dösinger stefan@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=50109aa969ccdc09acd0c4...