diff --git a/KREngine/KREngine/Classes/KRCamera.cpp b/KREngine/KREngine/Classes/KRCamera.cpp index 355a6a9..62fd6e1 100644 --- a/KREngine/KREngine/Classes/KRCamera.cpp +++ b/KREngine/KREngine/Classes/KRCamera.cpp @@ -62,15 +62,15 @@ KRCamera::KRCamera(KRContext &context) : KRContextObject(context) { bDebugPSSM = false; bEnableAmbient = true; bEnableDiffuse = true; - bEnableSpecular = false; // FINDME - Should be "true" + bEnableSpecular = true; bEnableLightMap = true; bDebugSuperShiny = false; - bEnableDeferredLighting = false; // FINDME - should be "true" + bEnableDeferredLighting = true; - dAmbientR = 0.25f; // FINDME - should be "0.0f" - dAmbientG = 0.25f; // FINDME - should be "0.0f" - dAmbientB = 0.25f; // FINDME - should be "0.0f" + dAmbientR = 0.0f; + dAmbientG = 0.0f; + dAmbientB = 0.0f; dSunR = 1.0f; dSunG = 1.0f; diff --git a/KREngine/KREngine/Classes/KREngine.h b/KREngine/KREngine/Classes/KREngine.h index 97f44e0..f575f39 100644 --- a/KREngine/KREngine/Classes/KREngine.h +++ b/KREngine/KREngine/Classes/KREngine.h @@ -45,6 +45,8 @@ typedef enum KREngineParameterType {KRENGINE_PARAMETER_INT, KRENGINE_PARAMETER_F @interface KREngine : NSObject ++ (KREngine *)sharedInstance; + @property(nonatomic, readonly) NSDictionary *parameter_names; @property(nonatomic, assign) KRContext *context; @property(nonatomic, assign) KRCamera *camera; diff --git a/KREngine/KREngine/Classes/KREngine.mm b/KREngine/KREngine/Classes/KREngine.mm index d6c5d0d..bcc84fe 100644 --- a/KREngine/KREngine/Classes/KREngine.mm +++ b/KREngine/KREngine/Classes/KREngine.mm @@ -51,6 +51,17 @@ using namespace std; @synthesize debug_text = _debug_text; double const PI = 3.141592653589793f; + ++ (KREngine *)sharedInstance +{ + static KREngine *sharedInstance = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + sharedInstance = [[KREngine alloc] init]; + }); + return sharedInstance; +} + - (id)init { _camera = NULL; @@ -150,7 +161,7 @@ double const PI = 3.141592653589793f; -(int)getParameterCount { - return 31; + return 32; } -(NSString *)getParameterNameWithIndex: (int)i diff --git a/KREngine/KREngine/Classes/KRMaterial.cpp b/KREngine/KREngine/Classes/KRMaterial.cpp index 013306b..2ed9f60 100644 --- a/KREngine/KREngine/Classes/KRMaterial.cpp +++ b/KREngine/KREngine/Classes/KRMaterial.cpp @@ -68,12 +68,6 @@ KRMaterial::KRMaterial(KRContext &context, const char *szName) : KRResource(cont m_reflectionMapOffset = KRVector2(0.0f, 0.0f); m_reflectionMapScale = KRVector2(1.0f, 1.0f); m_alpha_mode = KRMATERIAL_ALPHA_MODE_OPAQUE; - - -// // FINDME - HACK - Test Code: -// m_reflectionCube = "skycube"; -// m_reflectionColor = KRVector3(0.75, 0.75, 0.75); - } KRMaterial::~KRMaterial() { @@ -165,9 +159,6 @@ void KRMaterial::setReflectionMap(std::string texture_name, KRVector2 texture_sc void KRMaterial::setReflectionCube(std::string texture_name) { m_reflectionCube = texture_name; -// // FINDME - HACK - Test Code: -// m_reflectionCube = "skycube"; -// m_reflectionColor = KRVector3(0.75, 0.75, 0.75); } void KRMaterial::setAlphaMode(KRMaterial::alpha_mode_type alpha_mode) { @@ -192,9 +183,6 @@ void KRMaterial::setSpecular(const KRVector3 &c) { void KRMaterial::setReflection(const KRVector3 &c) { m_reflectionColor = c; -// // FINDME - HACK - Test Code: -// m_reflectionCube = "skycube"; -// m_reflectionColor = KRVector3(0.75, 0.75, 0.75); } void KRMaterial::setTransparency(GLfloat a) { diff --git a/KREngine/KREngine/Classes/KRMaterialManager.cpp b/KREngine/KREngine/Classes/KRMaterialManager.cpp index e962334..132a2a7 100644 --- a/KREngine/KREngine/Classes/KRMaterialManager.cpp +++ b/KREngine/KREngine/Classes/KRMaterialManager.cpp @@ -51,7 +51,12 @@ KRMaterialManager::~KRMaterialManager() { KRMaterial *KRMaterialManager::getMaterial(const char *szName) { - map::iterator itr = m_materials.find(szName); + std::string lowerName = szName; + std::transform(lowerName.begin(), lowerName.end(), + lowerName.begin(), ::tolower); + + + map::iterator itr = m_materials.find(lowerName); if(itr == m_materials.end()) { fprintf(stderr, "Material not found: %s\n", szName); // Not found diff --git a/KREngine/KREngine/Classes/KRScene.cpp b/KREngine/KREngine/Classes/KRScene.cpp index 76102c6..06cfa4c 100644 --- a/KREngine/KREngine/Classes/KRScene.cpp +++ b/KREngine/KREngine/Classes/KRScene.cpp @@ -176,15 +176,11 @@ void KRScene::render(int childOrder[], KROctreeNode *pOctreeNode, std::setgetBounds().coverage(matVP, pCamera->getViewportSize()); // This also checks the view frustrum culling if(lod_coverage > min_coverage) { - -// if(pOctreeNode->getBounds().visible(viewMatrix * projectionMatrix)) { // Only recurse deeper if within the view frustrum - + // ----====---- Rendering and occlusion test pass ----====---- bool bVisible = false; bool bNeedOcclusionTest = true; - //bVisible = true; // FINDME - Test Code - if(!bVisible) { // Assume bounding boxes are visible without occlusion test queries if the camera is inside the box. // The near clipping plane of the camera is taken into consideration by expanding the match area