Feedback on past, current, and future development.
- Site Admin
- Posts: 1193
- Joined: 05 Aug 2011, 22:21
- Location: Wroclaw, Poland
Jacob (yacoby) via mailing list:
Anyway, regarding current issues, the current Ogre::Terrain class doesn't support huge MGE style landscapes. I don't yet know if this is being worked on or even if it is planned within a reasonable timescale (but I am in the process of finding out)
Is the problem the size terrain itself or the number of meshes in the scene?
Both the size and meshes because the engine needs to be able to process everything smooth and sleek on even older computers. He said its being worked on though. ^_^
First, I would like to make the disclaimer that I have not developed with OGRE, and therefore the following is conjecture.
I was looking at the old terrain implementation in the git, and as far as I can tell it was using the default SceneManger. The default SceneManger is designed for smaller indoor scenes, which is why I would suppose the performance was bad. At the time, TerrainSceneManger should have probably been used, and would have provided a little better performance. Or perhaps the PagingLandscapeSceneManger2, but I hear it's a pain to setup properly.
Starting with the new version of ORGE, 1.7, released in February, there is a new strategy for terrain. There are now OGRE::Terrian objects that handle things much more efficiently. You create one for each 'page' of terrain, in OpenMW's case probably one per cell. These Terrain objects can then be used with any SceneManger. What will really going to give it the performane boost it needs, would be to compile OGRE with paging support enabled so Terrain can be paged in and out of memory as needed. Paging might be a little sketchy in OGRE right now, but sinbad, ORGE's founder, is planning on improving it over the life of 1.7. And if needed a custom paging algorithm can be coded to suit OpenMW's needs.
Correct - as long as we include and make available the changes we make to ogre, we can do what we need to to get it to work. Of course, it always helps if someone else in another place already solved it for us.