Robert Osfield
fccda08491
Added corner dirty options to TerrainTechnique, added experimental code paths in GeometryTechnique for accounting for neighbouring corner tiles - optionally compiled out in this check-in.
...
Changed the normal computation in GeometryTechnique so that it doesn't include diagonals, thus avoid normal jumps at corners.
2010-04-09 08:52:40 +00:00
Robert Osfield
c6c26d5d44
Change Terrain so that it subclassed from CoordinateSystemNode.
...
Implemented new update scheme of GeometryTechnique to avoid potential threading issues.
Added Terrain support to .ive.
2010-04-03 16:21:34 +00:00
Robert Osfield
a8bbf0a809
Added support for boundary equalization to GeometryTechnique
2010-04-01 21:06:56 +00:00
Robert Osfield
c4e82f0221
Added BlendingPolicy support into osgTerrain::Terrain.
2010-03-16 18:43:59 +00:00
Robert Osfield
1537af6235
Added osgTerrain::TerrainTile::set/getBlendingPolicy(BlendingPolicy) to enable control over whether the tile should have blending enabled on it.
2010-03-16 12:05:41 +00:00
Robert Osfield
5cd4faf05b
From Jason Beverage, "I posted a question on osg users about resources not being properly released when using osgTerrain databases and multiple viewers are used a few weeks ago and I've found that at least part of the problem comes down to the fact that the nodes that are traversed by the GeometryTechnique are never actually added to the scene graph, and thus don't have releaseGLObjects called on them. I'm submitting a few changes that takes care of this by allowing the TerrainTechnique to provide a releaseGLObjects implementation. I've applied these changes in osgEarth and this example program no longer crashes on the second run, although I get corrupt geometry (see attached shot) which could be down to a driver issue. If I increment the context ID for the second viewer, I no longer get the corrupt geometry.
...
The attached changes are against OpenSceneGraph 2.8.2.
//Sample program. Run against an osgEarth or VPB database based on osgTerrain.
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
int main(int argc, char** argv)
{
osg::ArgumentParser arguments(&argc,argv);
osgViewer::Viewer* viewer = new osgViewer::Viewer();
viewer->setUpViewInWindow(100,
100,500,500);
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFiles(arguments);
viewer->setSceneData( loadedModel.get() );
viewer->run();
delete viewer;
viewer = new osgViewer::Viewer();
viewer->setUpViewInWindow(100,100,500,500);
loadedModel = osgDB::readNodeFiles(arguments);
viewer->setSceneData( loadedModel.get() );
viewer->run();
delete viewer;
}"
2009-11-20 11:08:40 +00:00
Robert Osfield
773ae51a45
From Chris Hanson, typo and comment clean ups
2009-07-24 14:45:44 +00:00
Robert Osfield
2e58416826
Added exports, and moved constructors into .cpp.
2009-02-05 14:54:42 +00:00
Robert Osfield
3ce53b56c7
Added support for a Terrain::s/getTerrainTechniquePrototype()
2008-12-15 22:18:40 +00:00
Robert Osfield
ae08a5b261
Change TileID::layer to TileID::level
2008-09-20 15:43:38 +00:00
Robert Osfield
ff299eb104
Introduced osgTerrain::WhiteListTileLoadedCallback for the management of options terrain layers
2008-09-11 13:21:58 +00:00
Robert Osfield
b4b5b5ea41
Introduced TerrainTile::TileLoadedCallback
2008-09-10 18:11:54 +00:00
Robert Osfield
4d60d73eca
Reorginized the TerrainTile/TerrainTechnique dirty mechanism so that TerrainTile
...
now holds the dirty flag and enables/disables event traversal in response dirty
being set/unset. This allows terrain to be automatically updated in response
to Terrain scale and sample ratio changes.
2008-05-27 15:30:20 +00:00
Robert Osfield
2567b810cf
Removed TileSystem class, and added support for TerrainTile's automatically
...
registering and unregistering themseles with the enclosing Terrain node.
2008-03-27 13:21:36 +00:00
Robert Osfield
6396a156a2
Renamed osgTerrain::TerrainSystem to osgTerrain::Terrain
2008-03-27 11:55:03 +00:00
Robert Osfield
35c5bd2c92
Renamed Terrain to TerrainTile
2008-03-27 10:55:39 +00:00