]> git.mxchange.org Git - simgear.git/commitdiff
ocean state set in osg::Geometry
authortimoore <timoore>
Sun, 30 Sep 2007 19:51:49 +0000 (19:51 +0000)
committertimoore <timoore>
Sun, 30 Sep 2007 19:51:49 +0000 (19:51 +0000)
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)

simgear/scene/tgdb/SGOceanTile.cxx

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