continue;
osg::ref_ptr<osg::Camera> farCamera = info->getCamera(FAR_CAMERA);
osg::Camera* camera = info->getCamera( MAIN_CAMERA );
- if (camera == 0) continue;
- if (farCamera.valid() && farCamera->getNodeMask() != 0) {
- camera->setCullMask(nm & ~simgear::BACKGROUND_BIT);
- camera->setCullMaskLeft(nm & ~simgear::BACKGROUND_BIT);
- camera->setCullMaskRight(nm & ~simgear::BACKGROUND_BIT);
- farCamera->setCullMask(nm);
- farCamera->setCullMaskLeft(nm);
- farCamera->setCullMaskRight(nm);
+ if (camera) {
+ if (farCamera.valid() && farCamera->getNodeMask() != 0) {
+ camera->setCullMask(nm & ~simgear::BACKGROUND_BIT);
+ camera->setCullMaskLeft(nm & ~simgear::BACKGROUND_BIT);
+ camera->setCullMaskRight(nm & ~simgear::BACKGROUND_BIT);
+ farCamera->setCullMask(nm);
+ farCamera->setCullMaskLeft(nm);
+ farCamera->setCullMaskRight(nm);
+ } else {
+ camera->setCullMask(nm);
+ camera->setCullMaskLeft(nm);
+ camera->setCullMaskRight(nm);
+ }
} else {
- camera->setCullMask(nm);
- camera->setCullMaskLeft(nm);
- camera->setCullMaskRight(nm);
+ camera = info->getCamera( GEOMETRY_CAMERA );
+ if (camera == 0) continue;
+ camera->setCullMask( nm & ~simgear::MODELLIGHT_BIT );
}
}
}
l->get_sun_angle()*SGD_RADIANS_TO_DEGREES);
mUpdateVisitor->setVisibility(actual_visibility);
simgear::GroundLightManager::instance()->update(mUpdateVisitor.get());
- osg::Node::NodeMask cullMask = ~simgear::LIGHTS_BITS & ~simgear::PICK_BIT & ~simgear::MODELLIGHT_BIT;
+ osg::Node::NodeMask cullMask = ~simgear::LIGHTS_BITS & ~simgear::PICK_BIT;
cullMask |= simgear::GroundLightManager::instance()
->getLightNodeMask(mUpdateVisitor.get());
if (_panel_hotspots->getBoolValue())