currentModifiers(0),
resizable(true),
mouseWarped(false),
- scrollButtonPressed(false)
+ scrollButtonPressed(false),
+ changeStatsCameraRenderOrder(false)
{
using namespace osgGA;
statsHandler->setKeyEventTogglesOnScreenStats(displayStatsKey);
do {
statsType = (statsType + 1) % osgViewer::StatsHandler::LAST;
statsHandler->handle(*statsEvent, us);
+ if (changeStatsCameraRenderOrder) {
+ statsHandler->getCamera()->setRenderOrder(osg::Camera::POST_RENDER, 99999);
+ changeStatsCameraRenderOrder = false;
+ }
} while (statsType != type);
display->setIntValue(statsType);
return mouseMotionHandler;
}
+ void setChangeStatsCameraRenderOrder(bool c)
+ {
+ changeStatsCameraRenderOrder = c;
+ }
+
int getCurrentModifiers() const
{
return currentModifiers;
bool scrollButtonPressed;
int release_keys[128];
void handleStats(osgGA::GUIActionAdapter& us);
+ bool changeStatsCameraRenderOrder;
};
void eventToWindowCoords(const osgGA::GUIEventAdapter* ea, double& x, double& y);
}
_sky->texture_path( texture_path.str() );
+
+ if (!_classicalRenderer) {
+ eventHandler->setChangeStatsCameraRenderOrder( true );
+ }
}
void installCullVisitor(Camera* camera)
info->addCamera(flightgear::GEOMETRY_CAMERA, camera );
camera->setCullMask( ~simgear::MODELLIGHT_BIT );
- camera->setName( "GeometryCamera" );
+ camera->setName( "GeometryC" );
camera->setGraphicsContext( gc );
camera->setCullCallback( new FGDeferredRenderingCameraCullCallback( flightgear::GEOMETRY_CAMERA, info ) );
camera->setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
osg::Camera* mainShadowCamera = new osg::Camera;
info->addCamera(flightgear::SHADOW_CAMERA, mainShadowCamera, 0.0f );
- mainShadowCamera->setName( "ShadowCamera" );
+ mainShadowCamera->setName( "ShadowC" );
mainShadowCamera->setClearMask( GL_DEPTH_BUFFER_BIT );
mainShadowCamera->setClearDepth( 1.0 );
mainShadowCamera->setAllowEventFocus(false);
camera->setAllowEventFocus(false);
camera->setGraphicsContext(gc);
camera->setViewport(new Viewport);
- camera->setName("LightingCamera");
+ camera->setName("LightingC");
camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
camera->setRenderOrder(osg::Camera::POST_RENDER, 50);
camera->setRenderTargetImplementation( osg::Camera::FRAME_BUFFER_OBJECT );
slaveIndex = cgroup->getViewer()->getNumSlaves() - 1;
info->getRenderStageInfo(LIGHTING_CAMERA).slaveIndex = slaveIndex;
- camera->setName( "DisplayCamera" );
+ camera->setName( "DisplayC" );
camera->setCullCallback( new FGDeferredRenderingCameraCullCallback( flightgear::DISPLAY_CAMERA, info ) );
camera->setReferenceFrame(Transform::ABSOLUTE_RF);
camera->setAllowEventFocus(false);