else
node.setNodeMask(~SG_NODEMASK_TERRAIN_BIT & node.getNodeMask());
if (!_disableShadow)
- node.setNodeMask( SG_NODEMASK_SHADOW_BIT | node.getNodeMask());
+ node.setNodeMask( SG_NODEMASK_CASTSHADOW_BIT | node.getNodeMask());
else
- node.setNodeMask(~SG_NODEMASK_SHADOW_BIT & node.getNodeMask());
+ node.setNodeMask(~SG_NODEMASK_CASTSHADOW_BIT & node.getNodeMask());
}
osg::Group*
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
{
if (_condition->test())
- node->setNodeMask( SG_NODEMASK_SHADOW_BIT | node->getNodeMask());
+ node->setNodeMask( SG_NODEMASK_CASTSHADOW_BIT | node->getNodeMask());
else
- node->setNodeMask(~SG_NODEMASK_SHADOW_BIT & node->getNodeMask());
+ node->setNodeMask(~SG_NODEMASK_CASTSHADOW_BIT & node->getNodeMask());
traverse(node, nv);
}
/// If set, do terrain elevation computations with that nodes
#define SG_NODEMASK_TERRAIN_BIT (1<<0)
+/// If set, this is the main model of this simulation
+#define SG_NODEMASK_MAINMODEL_BIT (1<<1)
/// If set, cast shadows
-#define SG_NODEMASK_SHADOW_BIT (1<<1)
+#define SG_NODEMASK_CASTSHADOW_BIT (1<<2)
+/// If set, cast recieves shadows
+#define SG_NODEMASK_RECIEVESHADOW_BIT (1<<3)
/// If set, the node is pickable
-#define SG_NODEMASK_PICK_BIT (1<<2)
+#define SG_NODEMASK_PICK_BIT (1<<4)
#endif