GLUSboolean initGame(GLUSvoid) { if (!initEngine(GLUS_LOG_INFO, 7)) { return GLUS_FALSE; } OctreeFactory octreeFactory; OctreeSP octree = octreeFactory.createOctree(6, 1024, Point4(), 256.0f, 256.0f, 256.0f); GeneralEntityManager::getInstance()->setOctree(octree); //octree->setDebug(true); PrimitiveEntityFactory primitiveEntityFactory; FbxEntityFactory entityFactory; CameraEntityFactory cameraEntityFactory; LightEntityFactory lightEntityFactory; GroundEntityFactory groundEntityFactory; GroundEntitySP groundEntity; SurfaceMaterialFactory surfaceMaterialFactory; SurfaceMaterialSP surfaceMaterial; AnimationLayerSP animationLayer; vector<AnimationStackSP> allAnimStacks; Point4 position; string filename; // // // filename = "shadowscene.fbx"; modelEntity = entityFactory.loadFbxSceneFile("Shadow Scene", filename, 1.0f); if (!modelEntity.get()) { glusLogPrint(GLUS_LOG_ERROR, "File not found %s", filename.c_str()); return GLUS_FALSE; } modelEntity->setDebug(true); modelEntity->passLightsToManager(); modelEntity->passCamerasToManager(); GeneralEntityManager::getInstance()->updateEntity(modelEntity); // orthographicCameraShadowMap2D = OrthographicCameraShadowMap2DSP(new OrthographicCameraShadowMap2D(4096, 10.0f)); // // // currentCamera = CameraManager::getInstance()->getDefaultPerspectiveCamera(); // // // // Position the user User::defaultUser.setPosition(Point4(0.0f, 0.0f, 10.0f)); // Basic OpenGL settings glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glClearDepth(1.0f); // Needed when rendering the shadow map. This will avoid artifacts. glPolygonOffset(1.0f, 0.0f); return GLUS_TRUE; }