]> git.lizzy.rs Git - irrlicht.git/blobdiff - source/Irrlicht/CSceneManager.cpp
Drop _IRR_SCENEMANAGER_DEBUG
[irrlicht.git] / source / Irrlicht / CSceneManager.cpp
index 44f709707eee35cb1c863a29a4ac92e4204c2f4a..fd837ccfccb6a077c05f0a00065837e0d35e3101 100644 (file)
 #include "IMaterialRenderer.h"\r
 #include "IReadFile.h"\r
 #include "IWriteFile.h"\r
-#include "EProfileIDs.h"\r
-#include "IProfiler.h"\r
 \r
 #include "os.h"\r
 \r
-// We need this include for the case of skinned mesh support without\r
-// any such loader\r
-#ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_\r
 #include "CSkinnedMesh.h"\r
-#endif\r
-\r
-#ifdef _IRR_COMPILE_WITH_X_LOADER_\r
 #include "CXMeshFileLoader.h"\r
-#endif\r
-\r
-#ifdef _IRR_COMPILE_WITH_OBJ_LOADER_\r
 #include "COBJMeshFileLoader.h"\r
-#endif\r
-\r
-#ifdef _IRR_COMPILE_WITH_B3D_LOADER_\r
 #include "CB3DMeshFileLoader.h"\r
-#endif\r
-\r
-#ifdef _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_\r
 #include "CBillboardSceneNode.h"\r
-#endif // _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_\r
 #include "CAnimatedMeshSceneNode.h"\r
 #include "CCameraSceneNode.h"\r
 #include "CMeshSceneNode.h"\r
@@ -98,34 +80,9 @@ CSceneManager::CSceneManager(video::IVideoDriver* driver, io::IFileSystem* fs,
        // TODO: now that we have multiple scene managers, these should be\r
        // shallow copies from the previous manager if there is one.\r
 \r
-       #ifdef _IRR_COMPILE_WITH_X_LOADER_\r
        MeshLoaderList.push_back(new CXMeshFileLoader(this, FileSystem));\r
-       #endif\r
-       #ifdef _IRR_COMPILE_WITH_OBJ_LOADER_\r
        MeshLoaderList.push_back(new COBJMeshFileLoader(this, FileSystem));\r
-       #endif\r
-       #ifdef _IRR_COMPILE_WITH_B3D_LOADER_\r
        MeshLoaderList.push_back(new CB3DMeshFileLoader(this));\r
-       #endif\r
-\r
-       IRR_PROFILE(\r
-               static bool initProfile = false;\r
-               if (!initProfile )\r
-               {\r
-                       initProfile = true;\r
-                       getProfiler().add(EPID_SM_DRAW_ALL, L"drawAll", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_ANIMATE, L"animate", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_CAMERAS, L"cameras", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_LIGHTS, L"lights", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_SKYBOXES, L"skyboxes", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_DEFAULT, L"defaultnodes", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_SHADOWS, L"shadows", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_TRANSPARENT, L"transp.nodes", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_EFFECT, L"effectnodes", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_RENDER_GUI_NODES, L"guinodes", L"Irrlicht scene");\r
-                       getProfiler().add(EPID_SM_REGISTER, L"reg.render.node", L"Irrlicht scene");\r
-               }\r
-       )\r
 }\r
 \r
 \r
@@ -337,7 +294,6 @@ IBillboardSceneNode* CSceneManager::addBillboardSceneNode(ISceneNode* parent,
        video::SColor colorTop, video::SColor colorBottom\r
        )\r
 {\r
-#ifdef _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_\r
        if (!parent)\r
                parent = this;\r
 \r
@@ -346,9 +302,6 @@ IBillboardSceneNode* CSceneManager::addBillboardSceneNode(ISceneNode* parent,
        node->drop();\r
 \r
        return node;\r
-#else\r
-       return 0;\r
-#endif\r
 }\r
 \r
 \r
@@ -509,7 +462,6 @@ bool CSceneManager::isCulled(const ISceneNode* node) const
 //! registers a node for rendering it at a specific time.\r
 u32 CSceneManager::registerNodeForRendering(ISceneNode* node, E_SCENE_NODE_RENDER_PASS pass)\r
 {\r
-       IRR_PROFILE(CProfileScope p1(EPID_SM_REGISTER);)\r
        u32 taken = 0;\r
 \r
        switch(pass)\r
@@ -597,17 +549,6 @@ u32 CSceneManager::registerNodeForRendering(ISceneNode* node, E_SCENE_NODE_RENDE
                break;\r
        }\r
 \r
-#ifdef _IRR_SCENEMANAGER_DEBUG\r
-       s32 index = Parameters->findAttribute("calls");\r
-       Parameters->setAttribute(index, Parameters->getAttributeAsInt(index)+1);\r
-\r
-       if (!taken)\r
-       {\r
-               index = Parameters->findAttribute("culled");\r
-               Parameters->setAttribute(index, Parameters->getAttributeAsInt(index)+1);\r
-       }\r
-#endif\r
-\r
        return taken;\r
 }\r
 \r
@@ -625,20 +566,9 @@ void CSceneManager::clearAllRegisteredNodesForRendering()
 //! draws all scene nodes\r
 void CSceneManager::drawAll()\r
 {\r
-       IRR_PROFILE(CProfileScope psAll(EPID_SM_DRAW_ALL);)\r
-\r
        if (!Driver)\r
                return;\r
 \r
-#ifdef _IRR_SCENEMANAGER_DEBUG\r
-       // reset attributes\r
-       Parameters->setAttribute("culled", 0);\r
-       Parameters->setAttribute("calls", 0);\r
-       Parameters->setAttribute("drawn_solid", 0);\r
-       Parameters->setAttribute("drawn_transparent", 0);\r
-       Parameters->setAttribute("drawn_transparent_effect", 0);\r
-#endif\r
-\r
        u32 i; // new ISO for scoping problem in some compilers\r
 \r
        // reset all transforms\r
@@ -652,29 +582,24 @@ void CSceneManager::drawAll()
        Driver->setAllowZWriteOnTransparent(Parameters->getAttributeAsBool(ALLOW_ZWRITE_ON_TRANSPARENT));\r
 \r
        // do animations and other stuff.\r
-       IRR_PROFILE(getProfiler().start(EPID_SM_ANIMATE));\r
        OnAnimate(os::Timer::getTime());\r
-       IRR_PROFILE(getProfiler().stop(EPID_SM_ANIMATE));\r
 \r
        /*!\r
                First Scene Node for prerendering should be the active camera\r
                consistent Camera is needed for culling\r
        */\r
-       IRR_PROFILE(getProfiler().start(EPID_SM_RENDER_CAMERAS));\r
        camWorldPos.set(0,0,0);\r
        if (ActiveCamera)\r
        {\r
                ActiveCamera->render();\r
                camWorldPos = ActiveCamera->getAbsolutePosition();\r
        }\r
-       IRR_PROFILE(getProfiler().stop(EPID_SM_RENDER_CAMERAS));\r
 \r
        // let all nodes register themselves\r
        OnRegisterSceneNode();\r
 \r
        //render camera scenes\r
        {\r
-               IRR_PROFILE(CProfileScope psCam(EPID_SM_RENDER_CAMERAS);)\r
                CurrentRenderPass = ESNRP_CAMERA;\r
                Driver->getOverrideMaterial().Enabled = ((Driver->getOverrideMaterial().EnablePasses & CurrentRenderPass) != 0);\r
 \r
@@ -686,7 +611,6 @@ void CSceneManager::drawAll()
 \r
        // render skyboxes\r
        {\r
-               IRR_PROFILE(CProfileScope psSkyBox(EPID_SM_RENDER_SKYBOXES);)\r
                CurrentRenderPass = ESNRP_SKY_BOX;\r
                Driver->getOverrideMaterial().Enabled = ((Driver->getOverrideMaterial().EnablePasses & CurrentRenderPass) != 0);\r
 \r
@@ -698,7 +622,6 @@ void CSceneManager::drawAll()
 \r
        // render default objects\r
        {\r
-               IRR_PROFILE(CProfileScope psDefault(EPID_SM_RENDER_DEFAULT);)\r
                CurrentRenderPass = ESNRP_SOLID;\r
                Driver->getOverrideMaterial().Enabled = ((Driver->getOverrideMaterial().EnablePasses & CurrentRenderPass) != 0);\r
 \r
@@ -707,15 +630,11 @@ void CSceneManager::drawAll()
                for (i=0; i<SolidNodeList.size(); ++i)\r
                        SolidNodeList[i].Node->render();\r
 \r
-#ifdef _IRR_SCENEMANAGER_DEBUG\r
-               Parameters->setAttribute("drawn_solid", (s32) SolidNodeList.size() );\r
-#endif\r
                SolidNodeList.set_used(0);\r
        }\r
 \r
        // render transparent objects.\r
        {\r
-               IRR_PROFILE(CProfileScope psTrans(EPID_SM_RENDER_TRANSPARENT);)\r
                CurrentRenderPass = ESNRP_TRANSPARENT;\r
                Driver->getOverrideMaterial().Enabled = ((Driver->getOverrideMaterial().EnablePasses & CurrentRenderPass) != 0);\r
 \r
@@ -723,15 +642,11 @@ void CSceneManager::drawAll()
                for (i=0; i<TransparentNodeList.size(); ++i)\r
                        TransparentNodeList[i].Node->render();\r
 \r
-#ifdef _IRR_SCENEMANAGER_DEBUG\r
-               Parameters->setAttribute ( "drawn_transparent", (s32) TransparentNodeList.size() );\r
-#endif\r
                TransparentNodeList.set_used(0);\r
        }\r
 \r
        // render transparent effect objects.\r
        {\r
-               IRR_PROFILE(CProfileScope psEffect(EPID_SM_RENDER_EFFECT);)\r
                CurrentRenderPass = ESNRP_TRANSPARENT_EFFECT;\r
                Driver->getOverrideMaterial().Enabled = ((Driver->getOverrideMaterial().EnablePasses & CurrentRenderPass) != 0);\r
 \r
@@ -739,23 +654,18 @@ void CSceneManager::drawAll()
 \r
                for (i=0; i<TransparentEffectNodeList.size(); ++i)\r
                        TransparentEffectNodeList[i].Node->render();\r
-#ifdef _IRR_SCENEMANAGER_DEBUG\r
-               Parameters->setAttribute("drawn_transparent_effect", (s32) TransparentEffectNodeList.size());\r
-#endif\r
+\r
                TransparentEffectNodeList.set_used(0);\r
        }\r
 \r
        // render custom gui nodes\r
        {\r
-               IRR_PROFILE(CProfileScope psEffect(EPID_SM_RENDER_GUI_NODES);)\r
                CurrentRenderPass = ESNRP_GUI;\r
                Driver->getOverrideMaterial().Enabled = ((Driver->getOverrideMaterial().EnablePasses & CurrentRenderPass) != 0);\r
 \r
                for (i=0; i<GuiNodeList.size(); ++i)\r
                        GuiNodeList[i]->render();\r
-#ifdef _IRR_SCENEMANAGER_DEBUG\r
-               Parameters->setAttribute("drawn_gui_nodes", (s32) GuiNodeList.size());\r
-#endif\r
+\r
                GuiNodeList.set_used(0);\r
        }\r
        clearDeletionList();\r
@@ -1005,49 +915,12 @@ const video::SColorf& CSceneManager::getAmbientLight() const
 //! Get a skinned mesh, which is not available as header-only code\r
 ISkinnedMesh* CSceneManager::createSkinnedMesh()\r
 {\r
-#ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_\r
        return new CSkinnedMesh();\r
-#else\r
-       return 0;\r
-#endif\r
 }\r
 \r
 //! Returns a mesh writer implementation if available\r
 IMeshWriter* CSceneManager::createMeshWriter(EMESH_WRITER_TYPE type)\r
 {\r
-       switch(type)\r
-       {\r
-       case EMWT_IRR_MESH:\r
-       case EMWT_COLLADA:\r
-               return 0;\r
-       case EMWT_STL:\r
-#ifdef _IRR_COMPILE_WITH_STL_WRITER_\r
-               return new CSTLMeshWriter(this);\r
-#else\r
-               return 0;\r
-#endif\r
-       case EMWT_OBJ:\r
-#ifdef _IRR_COMPILE_WITH_OBJ_WRITER_\r
-               return new COBJMeshWriter(this, FileSystem);\r
-#else\r
-               return 0;\r
-#endif\r
-\r
-       case EMWT_PLY:\r
-#ifdef _IRR_COMPILE_WITH_PLY_WRITER_\r
-               return new CPLYMeshWriter();\r
-#else\r
-               return 0;\r
-#endif\r
-\r
-       case EMWT_B3D:\r
-#ifdef _IRR_COMPILE_WITH_B3D_WRITER_\r
-               return new CB3DMeshWriter();\r
-#else\r
-               return 0;\r
-#endif\r
-       }\r
-\r
        return 0;\r
 }\r
 \r