]> git.mxchange.org Git - flightgear.git/commitdiff
Change the order of the main cameras from NESTED_RENDER to POST_RENDER
authortimoore <timoore>
Tue, 30 Dec 2008 21:09:46 +0000 (21:09 +0000)
committerTim Moore <timoore@redhat.com>
Sat, 3 Jan 2009 22:56:03 +0000 (23:56 +0100)
This seems to be accepted OSG usage for slave cameras. It's possible
that this order is important for rendering instruments that use RTT
textures on systems without frame buffer object support. I'm thinking
that the resulting bugs may be implicated in the "black rectangle" problem.

src/Main/CameraGroup.cxx
src/Scenery/redout.cxx

index 9e848978d82ca9e40c68ed291a0c49ab14cc0a0f..06dab8efa471b7eafa0e8b909a47afe07ef16c0f 100644 (file)
@@ -147,7 +147,7 @@ CameraInfo* CameraGroup::addCamera(unsigned flags, Camera* camera,
         installCullVisitor(farCamera);
         info->farCamera = farCamera;
         info->farSlaveIndex = _viewer->getNumSlaves() - 1;
-        farCamera->setRenderOrder(Camera::NESTED_RENDER, info->farSlaveIndex);
+        farCamera->setRenderOrder(Camera::POST_RENDER, info->farSlaveIndex);
         camera->setCullMask(camera->getCullMask() & ~simgear::BACKGROUND_BIT);
         camera->setClearMask(GL_DEPTH_BUFFER_BIT);
     }
@@ -155,7 +155,7 @@ CameraInfo* CameraGroup::addCamera(unsigned flags, Camera* camera,
     installCullVisitor(camera);
     info->camera = camera;
     info->slaveIndex = _viewer->getNumSlaves() - 1;
-    camera->setRenderOrder(Camera::NESTED_RENDER, info->slaveIndex);
+    camera->setRenderOrder(Camera::POST_RENDER, info->slaveIndex);
     _cameras.push_back(info);
     return info;
 }
index b6ff2dc4dcbe3f8489ce3e88d755053f2c1a09c1..1555a33057f17374e99b2c629167370b3e19a06d 100644 (file)
@@ -101,7 +101,7 @@ osg::Node* FGCreateRedoutNode()
   camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
   camera->setProjectionMatrix(osg::Matrix::ortho2D(-1, 1, -1, 1));
   camera->setViewMatrix(osg::Matrix::identity());
-  camera->setRenderOrder(osg::Camera::POST_RENDER, 10);
+  camera->setRenderOrder(osg::Camera::POST_RENDER, 99);
   camera->setClearMask(0);
   camera->setAllowEventFocus(false);
   camera->setCullingActive(false);