From 547a172b15104ca3d4da45a6017dc4ef199e57f5 Mon Sep 17 00:00:00 2001 From: torcs-ng Date: Thu, 24 May 2012 22:05:46 +0000 Subject: [PATCH] - Update graphic code for real fog (not use cloud now) git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@4732 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 89954c37ab5b6c9556eb7be8a830ef03f21fa14e Former-commit-id: 517927e943617891acc5b5b61d7200a2acce16f0 --- src/interfaces/car.h | 5 +++- src/modules/graphic/ssggraph/grbackground.cpp | 29 ++++++++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/interfaces/car.h b/src/interfaces/car.h index 07c7f11b3..a2908c860 100644 --- a/src/interfaces/car.h +++ b/src/interfaces/car.h @@ -77,6 +77,7 @@ typedef struct { char carName[MAX_NAME_LEN]; /**< Car object name */ char category[MAX_NAME_LEN]; /**< Car's category */ int raceNumber; /**< Car's race number */ + int price; /**local.rain) { case TR_RAIN_NONE: - visibility = 0.0f; + //visibility = 0.0f; + visibility = 2500.0; break; case TR_RAIN_LITTLE: - visibility = 400.0f; + //visibility = 400.0f; + visibility = 800.0f; break; case TR_RAIN_MEDIUM: - visibility = 500.0f; + //visibility = 500.0f; + visibility = 600.0f; break; case TR_RAIN_HEAVY: - visibility = 550.0f; + //visibility = 550.0f; + visibility = 400.0f; break; default: GfLogWarning("Unsupported rain strength value %d (assuming none)", grTrack->local.rain); - visibility = 0.0f; + visibility = 10000.0f; break; }//switch Rain - TheSky->modifyVisibility( visibility, 0); + //TheSky->modifyVisibility( visibility, 0); + TheSky->setVisibility( visibility ); // Visibility in meters + + const GLfloat fog_exp_density = m_log01 / visibility; + const GLfloat fog_exp2_density = sqrt_m_log01 / visibility; //Setup overall light level according to rain if any const float sol_angle = (float)TheCelestBodies[eCBSun]->getAngle(); @@ -883,7 +894,9 @@ grPreDrawSky(tSituation* s, float fogStart, float fogEnd) if (grSkyDomeDistance && grTrack->skyversion > 0) { - const GLfloat fog_exp2_density = (float)sqrt_m_log01 / TheSky->getVisibility(); + //const GLfloat fog_exp2_density = (float)sqrt_m_log01 / TheSky->getVisibility(); + const GLfloat fog_exp_density = m_log01 / TheSky->getVisibility(); + const GLfloat fog_exp2_density = sqrt_m_log01 / TheSky->getVisibility(); glEnable(GL_FOG); //glFogf(GL_FOG_START, fogStart); //glFogf(GL_FOG_END, fogEnd);