- by directly specifying name as string: http://www.ogre3d.org/docs/api/1.9/clas ... c9e49451c6
- by specifying "scene type" flags: http://www.ogre3d.org/docs/api/1.9/clas ... a541a183e8.
The intent of the 'scene type flags' (http://www.ogre3d.org/docs/api/1.9/grou ... 969b9af914) was to let OGRE select a suitable scenemanager plugin. However, I think this concept failed because Ogre only provides 4 scenemanager types and all have issues with labeling:
- BSPSceneManager - special, only for quake-like .bsp maps - uses flag ST_INTERIOR - well, duh! I suppose everybody trying to load .bsp maps knows what they're about.
- OctreeSceneManager - general purpose, efficient (AFAIK) - Uses all flags, see this link to v1-9 https://bitbucket.org/sinbad/ogre/src/a ... r.cpp-1153 In branch v2.1, it's the same.
- PCZSceneManager - described by SceneManagerFAQ wikipage as very specific and requiring manual setup also uses all the flags! Link to source v1-9: https://bitbucket.org/sinbad/ogre/src/a ... r.cpp-1153 - and same in v2-1: https://bitbucket.org/sinbad/ogre/src/5 ... r.cpp-1476
- DefaultSceneManager - the built-in one, described by SceneManagerFAQ as "not very good" (sidenote: why isn't OctreeSceneManager built-in then?) uses a single flag: ST_GENERIC - which basically repeats what's already said by it's name.
The reason I started this research was a situation in a project I maintain - we disabled building OctreeSceneManager by accident and I was baffled that the game is still running without any scenemanager plugin. I thought OctreeSceneManager was the default one. Link to my original rant in our issue tracker: https://github.com/RigsOfRods/rigs-of-rods/issues/1379