From ae00c9bf002769e4dff527cd657692bacb9c92e6 Mon Sep 17 00:00:00 2001 From: Kearwood Gilbert Date: Thu, 25 Apr 2013 18:00:10 -0700 Subject: [PATCH] OSX Version of Kraken and importer now compiling again. Fixed bug that caused erratic mis-selection of shaders --- KREngine/kraken/KREngine-common.h | 33 ++++++++++++++++------------- KREngine/kraken/KRShaderManager.cpp | 14 ++++++++++-- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/KREngine/kraken/KREngine-common.h b/KREngine/kraken/KREngine-common.h index 1f2a5fd..327e8b9 100644 --- a/KREngine/kraken/KREngine-common.h +++ b/KREngine/kraken/KREngine-common.h @@ -23,21 +23,6 @@ float const D2R = PI * 2 / 360; #include #include -#if TARGET_OS_IPHONE - -#include -using std::unordered_map; -using std::unordered_multimap; -using std::hash; - -#else - -#include -using std::tr1::unordered_map; -using std::tr1::unordered_multimap; -using std::tr1::hash; - -#endif #include #include @@ -87,6 +72,24 @@ using std::queue; #define KRAKEN_USE_ARM_NEON #endif + +#if TARGET_OS_IPHONE + +#include +using std::unordered_map; +using std::unordered_multimap; +using std::hash; + +#else + +#include +using std::tr1::unordered_map; +using std::tr1::unordered_multimap; +using std::tr1::hash; + +#endif + + #if TARGET_OS_IPHONE #include diff --git a/KREngine/kraken/KRShaderManager.cpp b/KREngine/kraken/KRShaderManager.cpp index d0c290d..b68d0a4 100644 --- a/KREngine/kraken/KRShaderManager.cpp +++ b/KREngine/kraken/KRShaderManager.cpp @@ -73,6 +73,17 @@ KRShader *KRShaderManager::getShader(const std::string &shader_name, KRCamera *p std::pair > key; key.first = shader_name; key.second.push_back(light_directional_count); + key.second.push_back(light_point_count); + key.second.push_back(light_spot_count); + key.second.push_back(pCamera->settings.fog_type); + key.second.push_back(pCamera->settings.bEnablePerPixel); + key.second.push_back(bAlphaTest); + key.second.push_back(bAlphaBlend); + key.second.push_back(bDiffuseMap); + key.second.push_back(bNormalMap); + key.second.push_back(bSpecMap); + key.second.push_back(bReflectionMap); + key.second.push_back(bone_count); key.second.push_back(bSpecMap); key.second.push_back(bReflectionMap); key.second.push_back(bReflectionCubeMap); @@ -103,8 +114,7 @@ KRShader *KRShaderManager::getShader(const std::string &shader_name, KRCamera *p key.second.push_back(pCamera->settings.flash_intensity * 1000.0f); key.second.push_back(pCamera->settings.vignette_radius * 1000.0f); key.second.push_back(pCamera->settings.vignette_falloff * 1000.0f); - - + KRShader *pShader = m_shaders[key];