diff options
author | Thomas Szepe <HG1_public@gmx.net> | 2015-03-24 00:32:49 +0300 |
---|---|---|
committer | Thomas Szepe <HG1_public@gmx.net> | 2015-03-24 00:32:49 +0300 |
commit | c73693d4a5c9b286333a90dd0fc6fd8a7e6ea753 (patch) | |
tree | d7a64433a1acf92a36bb0e064e18b72a729361ca /source/gameengine | |
parent | da5fb82a63ea95f75e42092bee60027d3706c9ce (diff) |
BGE: Fix T43592: World GLSL
This patch will fix the world GLSL (mist, background, ambient) update for the BGE.
Reviewers: moguri, brecht
Reviewed By: moguri, brecht
Subscribers: panzergame
Differential Revision: https://developer.blender.org/D151
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/Ketsji/KX_KetsjiEngine.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index 8c6cb2b32d4..2907371267a 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -80,6 +80,8 @@ #include "KX_NavMeshObject.h" +#include "GPU_material.h" + #define DEFAULT_LOGIC_TIC_RATE 60.0 //#define DEFAULT_PHYSICS_TIC_RATE 60.0 @@ -975,6 +977,9 @@ void KX_KetsjiEngine::SetBackGround(KX_WorldInfo* wi) wi->getBackColorBlue(), 0.0 ); + + float horicolor[] = {wi->getBackColorRed(), wi->getBackColorGreen(), wi->getBackColorBlue()}; + GPU_horizon_update_color(horicolor); } } } @@ -993,6 +998,9 @@ void KX_KetsjiEngine::SetWorldSettings(KX_WorldInfo* wi) wi->getAmbientColorBlue() ); + float ambcolor[] = {wi->getAmbientColorRed(), wi->getAmbientColorGreen(), wi->getAmbientColorBlue()}; + GPU_ambient_update_color(ambcolor); + if (wi->hasMist()) { m_rasterizer->SetFog( @@ -1004,10 +1012,22 @@ void KX_KetsjiEngine::SetWorldSettings(KX_WorldInfo* wi) wi->getMistColorGreen(), wi->getMistColorBlue() ); + + float mistcolor[] = {wi->getMistColorRed(), wi->getMistColorGreen(), wi->getMistColorBlue()}; + GPU_mist_update_values( + wi->getMistType(), + wi->getMistStart(), + wi->getMistDistance(), + wi->getMistIntensity(), + mistcolor + ); + m_rasterizer->EnableFog(true); + GPU_mist_update_enable(true); } else { m_rasterizer->EnableFog(false); + GPU_mist_update_enable(false); } } } |