ocean state set in osg::Geometry

Put the ocean tile state set in osg::Geometry, not the osg::Geode, so that
is readily available during intersection testing and can be used to find the
corresponding SGMaterial.

Problem reported by grtux (gh.robin@laposte.net)
This commit is contained in:
timoore 2007-09-30 19:51:49 +00:00
parent aeaaa50f6c
commit 8398f45d43

View File

@ -298,11 +298,11 @@ osg::Node* SGOceanTile(const SGBucket& b, SGMaterialLib *matlib)
+ 2 * (latPoints - 1))); + 2 * (latPoints - 1)));
fillDrawElementsWithApron(latPoints, lonPoints, drawElements->begin()); fillDrawElementsWithApron(latPoints, lonPoints, drawElements->begin());
geometry->addPrimitiveSet(drawElements); geometry->addPrimitiveSet(drawElements);
geometry->setStateSet(stateSet);
osg::Geode* geode = new osg::Geode; osg::Geode* geode = new osg::Geode;
geode->setName("Ocean tile"); geode->setName("Ocean tile");
geode->addDrawable(geometry); geode->addDrawable(geometry);
geode->setStateSet(stateSet);
osg::MatrixTransform* transform = new osg::MatrixTransform; osg::MatrixTransform* transform = new osg::MatrixTransform;
transform->setName("Ocean"); transform->setName("Ocean");