]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/CameraGroup.cxx
Improve timing statistics
[flightgear.git] / src / Main / CameraGroup.cxx
index ae4cf48dfcc42e69ec483db7c5d3a83d6c43f01a..e80e0c564bbc1cf61b5520055aa9cea426ea96a2 100644 (file)
@@ -35,6 +35,7 @@
 #include <string>
 
 #include <osg/Camera>
+#include <osg/Geometry>
 #include <osg/GraphicsContext>
 #include <osg/io_utils>
 #include <osg/Math>
@@ -161,7 +162,7 @@ CameraInfo* CameraGroup::addCamera(unsigned flags, Camera* camera,
         if (bufferMap.count(Camera::COLOR_BUFFER) != 0) {
             farCamera->attach(
                 Camera::COLOR_BUFFER,
-                bufferMap.find(Camera::COLOR_BUFFER)->second._texture);
+                bufferMap.find(Camera::COLOR_BUFFER)->second._texture.get());
         }
         _viewer->addSlave(farCamera, projection, view, useMasterSceneData);
         installCullVisitor(farCamera);
@@ -328,10 +329,10 @@ static osg::Geometry* createParoramicSphericalDisplayDistortionMesh(
 
     osg::Vec3d projector = eye - osg::Vec3d(0.0,0.0, distance);
 
-
+#if 0
     OSG_INFO<<"createParoramicSphericalDisplayDistortionMesh : Projector position = "<<projector<<std::endl;
     OSG_INFO<<"createParoramicSphericalDisplayDistortionMesh : distance = "<<distance<<std::endl;
-
+#endif
     // create the quad to visualize.
     osg::Geometry* geometry = new osg::Geometry();
 
@@ -645,15 +646,16 @@ CameraInfo* CameraGroup::buildGUICamera(SGPropertyNode* cameraNode,
     const SGPropertyNode* windowNode = (cameraNode
                                         ? cameraNode->getNode("window")
                                         : 0);
-    if (!window) {
-        if (windowNode) {
-            // New style window declaration / definition
-            window = wBuild->buildWindow(windowNode);
-            
-        } else {
-            return 0;
-        }
+    if (!window && windowNode) {
+      // New style window declaration / definition
+      window = wBuild->buildWindow(windowNode);
+    }
+    
+    if (!window) { // buildWindow can fail
+      SG_LOG(SG_GENERAL, SG_WARN, "CameraGroup::buildGUICamera: failed to build a window");
+      return NULL;
     }
+    
     Camera* camera = new Camera;
     camera->setAllowEventFocus(false);
     camera->setGraphicsContext(window->gc.get());