Use the Ogre terrain component instead of PLSM2

Registered by Erik Ogenvik

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://www.ogre3d.org/tikiwiki/tiki-index.php?page=Ogre+Terrain+System
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

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.