Sign in to follow this  
Medo Mex

Terrain Fog

Recommended Posts

Medo Mex    891

I'm trying to enable fog on terrain:

    float fogstart=5000.0f;   
    float fogend=10000.0f;

    m_d3dDevice->SetRenderState(D3DRS_FOGENABLE,TRUE);
    m_d3dDevice->SetRenderState(D3DRS_FOGTABLEMODE,D3DFOG_LINEAR);
    m_d3dDevice->SetRenderState(D3DRS_FOGCOLOR,0x00F0F0FF);
    m_d3dDevice->SetRenderState(D3DRS_FOGSTART,*(DWORD*)&fogStart);
    m_d3dDevice->SetRenderState(D3DRS_FOGEND,*(DWORD*)&fogEnd);

I'm getting weird results:

[attachment=15142:fog.png]

 

Maybe the white color should have alpha channel?

 

Share this post


Link to post
Share on other sites
L. Spiro    25619
Unless you provide shots of the fog from multiple angles that could be a very valid result.
Specifically, I see grey in the lower-left, indicating it is properly fading from terrain to fog over a certain distance.

The scale of your world seems to be very huge. Most likely this is a problem with your parameters, and the range in which is fades from 0 to 100% is very small (compared to the scale of the world), making you believe there is no fade.
Firstly, see how it looks when the near fog value is set to 0.

Then increase your camera’s near plane to something like 500.
Since your camera’s far plane is obviously higher than 10,000, you likely have a near plane that is too small and you have a severe amount of z-fighting, causing the fading into fog to appear less smooth or even non-existent.


L. Spiro

Share this post


Link to post
Share on other sites
Medo Mex    891

When I set fogStart to 1.0f and fogEnd to 1500.0f I get the following result:

[attachment=15144:FOG RESULT.png]

 

Why do I see solid white? I want to make the fog on the terrain look realistic.

Edited by Medo3337

Share this post


Link to post
Share on other sites
L. Spiro    25619

So, basically there is no real problem/bug here.

There is fading happening based on the parameters you set.

 

You told it to fade into 100% fog at 15,000 units.  At 15,000 units it becomes fully fogged.

If you don’t like that, either set the far plane of the fog to be barely shorter than your camera’s far plane or move the far plane closer to the edge of the far-fog plane.

 

In other words, you told it to become 100% fog at 15,000 units.  Then you told your camera to view around 20,000 or maybe 30,000 units.  If you don’t want to see pure fog, don’t set your camera’s view distance to a range farther than the fog’s far plane.

 

 

L. Spiro

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this