Ticket #4626: fog_v1.patch
File fog_v1.patch, 8.0 KB (added by , 6 years ago) |
---|
-
binaries/data/mods/public/gui/options/options.json
198 198 }, 199 199 { 200 200 "type": "boolean", 201 "label": "Fog", 202 "tooltip": "Enable fog", 203 "config": "fog", 204 "function": "Renderer_SetFogEnabled" 205 }, 206 { 207 "type": "boolean", 201 208 "label": "Unit Silhouettes", 202 209 "tooltip": "Show outlines of units behind buildings", 203 210 "config": "silhouettes", -
source/graphics/ParticleEmitter.cpp
185 185 const CLightEnv& lightEnv = g_Renderer.GetLightEnv(); 186 186 shader->Uniform(str_sunColor, lightEnv.m_SunColor); 187 187 shader->Uniform(str_fogColor, lightEnv.m_FogColor); 188 shader->Uniform(str_fogParams, lightEnv.m_FogFactor, lightEnv.m_FogMax, 0.f, 0.f);188 shader->Uniform(str_fogParams, (g_Renderer.m_Options.m_Fog ? lightEnv.m_FogFactor : 0.f), lightEnv.m_FogMax, 0.f, 0.f); 189 189 190 190 shader->BindTexture(str_baseTex, m_Type->m_Texture); 191 191 pglBlendEquationEXT(m_Type->m_BlendEquation); -
source/ps/GameSetup/Config.cpp
50 50 bool g_WaterShadows = false; 51 51 52 52 bool g_Particles = false; 53 bool g_Fog = true; 53 54 bool g_Silhouettes = false; 54 55 bool g_ShowSky = false; 55 56 … … 105 106 106 107 CFG_GET_VAL("renderpath", g_RenderPath); 107 108 CFG_GET_VAL("particles", g_Particles); 109 CFG_GET_VAL("fog", g_Fog); 108 110 CFG_GET_VAL("silhouettes", g_Silhouettes); 109 111 CFG_GET_VAL("showsky", g_ShowSky); 110 112 CFG_GET_VAL("preferglsl", g_PreferGLSL); -
source/ps/GameSetup/Config.h
67 67 extern bool g_ShadowPCF; 68 68 // flag to switch on particles rendering 69 69 extern bool g_Particles; 70 // flag to switch on fog 71 extern bool g_Fog; 70 72 // flag to switch on unit silhouettes 71 73 extern bool g_Silhouettes; 72 74 // flag to switch on sky rendering -
source/ps/GameSetup/GameSetup.cpp
632 632 g_ConfigDB.SetValueBool(CFG_SYSTEM, "shadowpcf", g_ShadowPCF); 633 633 g_Renderer.SetOptionBool(CRenderer::OPT_PARTICLES, g_Particles); 634 634 g_ConfigDB.SetValueBool(CFG_SYSTEM, "particles", g_Particles); 635 g_Renderer.SetOptionBool(CRenderer::OPT_FOG, g_Fog); 636 g_ConfigDB.SetValueBool(CFG_SYSTEM, "fog", g_Fog); 635 637 g_Renderer.SetOptionBool(CRenderer::OPT_SILHOUETTES, g_Silhouettes); 636 638 g_ConfigDB.SetValueBool(CFG_SYSTEM, "silhouettes", g_Silhouettes); 637 639 g_Renderer.SetOptionBool(CRenderer::OPT_SHOWSKY, g_ShowSky); -
source/renderer/RenderModifiers.cpp
92 92 shader->Uniform(str_sunColor, GetLightEnv()->m_SunColor); 93 93 94 94 shader->Uniform(str_fogColor, GetLightEnv()->m_FogColor); 95 shader->Uniform(str_fogParams, GetLightEnv()->m_FogFactor, GetLightEnv()->m_FogMax, 0.f, 0.f);95 shader->Uniform(str_fogParams, (g_Renderer.m_Options.m_Fog ? GetLightEnv()->m_FogFactor : 0.f), GetLightEnv()->m_FogMax, 0.f, 0.f); 96 96 } 97 97 98 98 if (shader->GetTextureBinding(str_losTex).Active()) -
source/renderer/Renderer.cpp
441 441 m_Options.m_ARBProgramShadow = true; 442 442 m_Options.m_ShadowPCF = false; 443 443 m_Options.m_Particles = false; 444 m_Options.m_Fog = false; 444 445 m_Options.m_Silhouettes = false; 445 446 m_Options.m_PreferGLSL = false; 446 447 m_Options.m_ForceAlphaTest = false; … … 722 723 MakeShadersDirty(); 723 724 RecomputeSystemShaderDefines(); 724 725 break; 726 case OPT_FOG: 727 m_Options.m_Fog = value; 728 MakeShadersDirty(); 729 break; 725 730 case OPT_SILHOUETTES: 726 731 m_Options.m_Silhouettes = value; 727 732 break; … … 770 775 return m_Options.m_Particles; 771 776 case OPT_PREFERGLSL: 772 777 return m_Options.m_PreferGLSL; 778 case OPT_FOG: 779 return m_Options.m_Fog; 773 780 case OPT_SILHOUETTES: 774 781 return m_Options.m_Silhouettes; 775 782 case OPT_SHOWSKY: -
source/renderer/Renderer.h
85 85 OPT_SHADOWPCF, 86 86 OPT_PARTICLES, 87 87 OPT_PREFERGLSL, 88 OPT_FOG, 88 89 OPT_SILHOUETTES, 89 90 OPT_SHOWSKY, 90 91 OPT_SMOOTHLOS, … … 154 155 bool m_PreferGLSL; 155 156 bool m_ForceAlphaTest; 156 157 bool m_GPUSkinning; 158 bool m_Fog; 157 159 bool m_Silhouettes; 158 160 bool m_SmoothLOS; 159 161 bool m_ShowSky; -
source/renderer/TerrainRenderer.cpp
473 473 shader->Uniform(str_sunDir, lightEnv.GetSunDir()); 474 474 475 475 shader->Uniform(str_fogColor, lightEnv.m_FogColor); 476 shader->Uniform(str_fogParams, lightEnv.m_FogFactor, lightEnv.m_FogMax, 0.f, 0.f);476 shader->Uniform(str_fogParams, (g_Renderer.m_Options.m_Fog ? lightEnv.m_FogFactor : 0.f), lightEnv.m_FogMax, 0.f, 0.f); 477 477 } 478 478 479 479 void TerrainRenderer::RenderTerrainShader(const CShaderDefines& context, int cullGroup, ShadowMap* shadow) … … 788 788 m->fancyWaterShader->Uniform(str_losMatrix, losTexture.GetTextureMatrix()); 789 789 m->fancyWaterShader->Uniform(str_cameraPos, camPos); 790 790 m->fancyWaterShader->Uniform(str_fogColor, lightEnv.m_FogColor); 791 m->fancyWaterShader->Uniform(str_fogParams, lightEnv.m_FogFactor, lightEnv.m_FogMax, 0.f, 0.f);791 m->fancyWaterShader->Uniform(str_fogParams, (g_Renderer.m_Options.m_Fog ? lightEnv.m_FogFactor : 0.f), lightEnv.m_FogMax, 0.f, 0.f); 792 792 m->fancyWaterShader->Uniform(str_time, (float)time); 793 793 m->fancyWaterShader->Uniform(str_screenSize, (float)g_Renderer.GetWidth(), (float)g_Renderer.GetHeight(), 0.0f, 0.0f); 794 794 -
source/renderer/scripting/JSInterface_Renderer.cpp
43 43 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERREFLECTION, WaterReflection); 44 44 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(WATERREFRACTION, WaterRefraction); 45 45 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SHADOWSONWATER, WaterShadows); 46 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(FOG, Fog); 46 47 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SILHOUETTES, Silhouettes); 47 48 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SHOWSKY, ShowSky); 48 49 IMPLEMENT_BOOLEAN_SCRIPT_SETTING(SMOOTHLOS, SmoothLOS); … … 86 87 REGISTER_BOOLEAN_SCRIPT_SETTING(WaterReflection); 87 88 REGISTER_BOOLEAN_SCRIPT_SETTING(WaterRefraction); 88 89 REGISTER_BOOLEAN_SCRIPT_SETTING(WaterShadows); 90 REGISTER_BOOLEAN_SCRIPT_SETTING(Fog); 89 91 REGISTER_BOOLEAN_SCRIPT_SETTING(Silhouettes); 90 92 REGISTER_BOOLEAN_SCRIPT_SETTING(ShowSky); 91 93 REGISTER_BOOLEAN_SCRIPT_SETTING(SmoothLOS); -
source/renderer/scripting/JSInterface_Renderer.h
41 41 DECLARE_BOOLEAN_SCRIPT_SETTING(WaterReflection); 42 42 DECLARE_BOOLEAN_SCRIPT_SETTING(WaterRefraction); 43 43 DECLARE_BOOLEAN_SCRIPT_SETTING(WaterShadows); 44 DECLARE_BOOLEAN_SCRIPT_SETTING(Fog); 44 45 DECLARE_BOOLEAN_SCRIPT_SETTING(Silhouettes); 45 46 DECLARE_BOOLEAN_SCRIPT_SETTING(ShowSky); 46 47 DECLARE_BOOLEAN_SCRIPT_SETTING(SmoothLOS);