First of all I needed to upgrade my SDK and all my meshes to 1.10. I upgraded my meshes with the option -l -3 with a positive output.
Here is my code so far:
Code: Select all
Ogre::MeshPtr meshPtr = Ogre::MeshManager::getSingleton().load(mesh, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
Ogre::LodConfig config(meshPtr);
config.createGeneratedLodLevel(5, 0.5); // At 5 ogre worldspace units use 50% reduced mesh
config.createGeneratedLodLevel(10, 0.75); // By default, it is using DistanceLodStrategy and proportional reduction.
config.createGeneratedLodLevel(15, 0.9);
config.advanced.useBackgroundQueue = true; // Generate in background thread, later inject with framelistener.
Ogre::MeshLodGenerator::getSingleton().generateLodLevels(config);
mEntity = mSceneMgr->createEntity(mName, config.mesh);
Another point: I am doing this for every object in my scene also if they have the same mesh. What is best practise at this point? Create one MeshPtr and use it for serveral Entities or create for every entity an own meshPtr. Does it even make a difference?