fog with pixel shaders < 3.0

Stefan Dösinger stefandoesinger at
Mon Mar 12 10:30:26 CDT 2007

> As I see it, the No-Fog fog is a vertex fog where the fog weighting
> parameter for every vertex is calculated by the application on the cpu
> rather than by geometry pipeline.
Yup. And it is also used if vertex fog is enabled but the app draws already 
transformed vertices.

> Anyhow from MSDN:
> "When using a vertex shader, you must use vertex fog.
Prince of Persia: The sands of time does exactly the oposite. So I am not sure 
if we can trust that line.

> On a sidenote: MSDN also states:
> "An application can implement fog with a vertex shader, and pixel fog
> simultaneously if desired."
How does that match with the statement quoted above?

> However, I think this is rather a corner case. Which application would want
> to use two fogs simultaneously?
I think they are called DirectX apps :-)

> > > P.S: I noticed that fog-state management is not yet included in the
> > > state table. Should a patch that fixes fog with pixel shaders wait
> > > until this is done, or is this of no importance?
> >
> > No, it should be there :-) See STATE_RENDER(WINED3DRS_FOGENABLE), and
> > states linked to it. Or did I miss anything? The apply handler should be
> > state_fog.
> sorry, I misunderstood a comment in the code.
Which comment was that? It could be outdated, or whatever it is confusing, so 
the comment should be fixed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url :

More information about the wine-devel mailing list