Use the Ogre terrain component instead of PLSM2
Ember currently uses the PagingLandscape SceneManager 2, which is a scene manager which also provides support for terrain.
There are a couple of reasons why this is not ideal.
* We shouldn't be dependent on always showing a landscape. The current default world does, but this should not always be the case. However, we're currently locked into a scene manager which always will be showing a terrain.
* The PLSM2 code is abandoned and there's no development going on. This together with the structure of the code not being optimal (high coupling overall for example) makes the situation not ideal.
* The method the PLSM2 uses to stitch together different tiles of different level of detail makes it memory intense.
The obvious solution is instead to use the Terrain component which is included in Ogre since version 1.7. http://
This is an optional component which works outside of the scene manager, allowing for much more flexibility.
It's also actively developed and has a more saner architecture.
This task would thus entail replacing the PLSM2 code with code which instead leverages the Terrain component in Ogre. Just as now, the requirement would be that any implementation performs background loading of resources, such that the main rendering isn't affected as terrain is encountered or altered.
The terrain component uses Cg to provide materials; we probably instead want to use our existing materials and shaders. This will involve some fiddling with these, as there are bound to be some differences.
Just as with the current implementation it's a requirement that any terrain is loading and prepared in the background, so that there's never any stutter in the client.
Blueprint information
- Status:
- Complete
- Approver:
- Erik Ogenvik
- Priority:
- High
- Drafter:
- Erik Ogenvik
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Erik Ogenvik
- Completed by
- Erik Ogenvik