Ticket #1654 (closed enhancement: fixed)
Mutli view culling support for shared scene graph
|Reported by:||gpotts||Owned by:||gpotts|
Current ossimPlanetTerrain does not support multiple views with the same scene graph. If you want to share a scene among multiple views like an osg::CompositeView? we need to make some modifications to ossimPlanetTerrain and ossimPlanetTerrainTile and ossimPlanetTerrainGeometryTechnique. The changes listed here is only speculative:
- Time stamp for Reference and Simulation and also Frame number stamp for each tile currently in the graph. Add attributes to ossimPlanetTerrainTile that holds these values.
- Use OSG culling instead of our own. We will instead set a Culling mask when visiting the Terrain layer instead of the Culling Mode that we are doing now. Culling mask allows one to turn on and off culling options for that subgraph. Their culling will not be quite as tight but is still good.
- If we use osg culling we remove the need to do setCullingActive(false). If the graph is not visited then we just don't update the time stamp and the frame stamp.
- Add a separate visitor in ossimPlanetTerrainTile that only runs when the frame number changes and removes any non visited tiles by looking at the frame number stamp difference to the current frame number.
- May want to expose the variables/ values used to expire a node in the graph. So you may want to keep a node around for several frames or maybe for several seconds or may just want to expire it immediately once not visited by any shared traversal.
- adjust Technique for priority to be the union of the closest of all views
This should be the only modifications to the ossimPlanetTerrain and ossimPlanetTerrainTile. ossimPlanetTerrainGeometryTechnique