Add support for imposters
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://
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
Related bugs
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