\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
// 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
\r
\r
video::SColor colorTop, video::SColor colorBottom\r
)\r
{\r
-#ifdef _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_\r
if (!parent)\r
parent = this;\r
\r
node->drop();\r
\r
return node;\r
-#else\r
- return 0;\r
-#endif\r
}\r
\r
\r
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
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
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
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
\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
\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
//! 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