Add support for imposters

Registered by Erik Ogenvik

Ogre has no built in support for imposters, but there are a couple of add on projects which provide this functionality. This project in particular seems promising: http://www.ogre3d.org/wiki/index.php/Real-time_Impostoring
Implementing this in Ember means that the third party code needs to be integrated with the Ember code and the Model format needs to be expanded so that it can contain information about how imposters should be used.
There are two approaches to specifying imposter information in the Model format:
* either by specifying a distance from the camera at which imposters should be used; this is the easiest way
* or by specifying a pixel width at which imposters should be used. This is more advanced and may present some performance issues, but would be preferred. The idea here is to tell Ogre to start rendering the entity with imposters when it's below a certain screen size (pixelwise).

It would be possible to start out with the first solution and add the latter one at a later stage.

Blueprint information

Status:
Complete
Approver:
Erik Ogenvik
Priority:
Medium
Drafter:
Erik Ogenvik
Direction:
Needs approval
Assignee:
Erik Ogenvik
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Erik Ogenvik
Completed by
Erik Ogenvik

Related branches

Sprints

Whiteboard

Imposters are implemented using the PagedGeometry framework. We however need to polish it a little more:
* Make sure that the imposters are rendered with the correct LOD material. Far away trees should have the shader materials disabled
* Create our own GeometryPage which can handle individual entities (instead of using the dummy one and hiding all entities)
* Create our own PageLoader which knows how to handle either Models or EmberEntities

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.