]> git.mxchange.org Git - flightgear.git/commitdiff
Fix incorrectly hardcoded effect in last Rembrandt stage
authorFrederic Bouvier <fredfgfs01@free.fr>
Thu, 2 Aug 2012 20:59:49 +0000 (22:59 +0200)
committerFrederic Bouvier <fredfgfs01@free.fr>
Thu, 2 Aug 2012 21:00:20 +0000 (23:00 +0200)
src/Viewer/renderer.cxx
src/Viewer/renderer.hxx

index 3b705f019023995f777e38eac07c8aef3913e413..3def71336b3398085438a61a441f8381cef9f1a2 100644 (file)
@@ -1187,18 +1187,18 @@ FGRenderer::buildDeferredFullscreenCamera( flightgear::CameraInfo* info, osg::Gr
 }
 
 void
-FGRenderer::buildDeferredDisplayCamera( osg::Camera* camera, flightgear::CameraInfo* info, const std::string& name, osg::GraphicsContext* gc )
+FGRenderer::buildDeferredDisplayCamera( osg::Camera* camera, flightgear::CameraInfo* info, const FGRenderingPipeline::Stage* stage, osg::GraphicsContext* gc )
 {
     camera->setName( "DisplayC" );
-    camera->setCullCallback( new FGDeferredRenderingCameraCullCallback( name, info ) );
+    camera->setCullCallback( new FGDeferredRenderingCameraCullCallback( stage->name, info ) );
     camera->setReferenceFrame(Transform::ABSOLUTE_RF);
     camera->setAllowEventFocus(false);
     osg::Geometry* g = osg::createTexturedQuadGeometry( osg::Vec3(-1.,-1.,0.), osg::Vec3(2.,0.,0.), osg::Vec3(0.,2.,0.) );
     g->setUseDisplayList(false); //DEBUG
     simgear::EffectGeode* eg = new simgear::EffectGeode;
-    simgear::Effect* effect = simgear::makeEffect("Effects/display", true);
+    simgear::Effect* effect = simgear::makeEffect(stage->effect, true);
     if (!effect) {
-        SG_LOG(SG_VIEW, SG_ALERT, "Effects/display not found");
+        SG_LOG(SG_VIEW, SG_ALERT, stage->effect + " not found");
         return;
     }
     eg->setEffect(effect);
@@ -1237,7 +1237,7 @@ FGRenderer::buildStage(CameraInfo* info,
         camera = buildDeferredFullscreenCamera(info, gc, stage);
     else if (stage->type == "display") {
         camera = mainCamera;
-        buildDeferredDisplayCamera(camera, info, stage->name, gc);
+        buildDeferredDisplayCamera(camera, info, stage, gc);
     } else
         throw sg_exception("Stage type is not supported");
 
index 75d5c16f7dd72b1b1c1c14829a644320feb3288c..2ff7c825224d48e95ae0d719338bbf917845aef4 100644 (file)
@@ -152,7 +152,7 @@ protected:
     osg::Camera* buildDeferredLightingCamera( flightgear::CameraInfo* info, osg::GraphicsContext* gc, const FGRenderingPipeline::Stage* stage );
     osg::Camera* buildDeferredFullscreenCamera( flightgear::CameraInfo* info, osg::GraphicsContext* gc, const FGRenderingPipeline::Stage* stage );
     osg::Camera* buildDeferredFullscreenCamera( flightgear::CameraInfo* info, const FGRenderingPipeline::Pass* pass );
-    void buildDeferredDisplayCamera( osg::Camera* camera, flightgear::CameraInfo* info, const std::string& name, osg::GraphicsContext* gc );
+    void buildDeferredDisplayCamera( osg::Camera* camera, flightgear::CameraInfo* info, const FGRenderingPipeline::Stage* stage, osg::GraphicsContext* gc );
 
     void updateShadowCascade(const flightgear::CameraInfo* info, osg::Camera* camera, osg::Group* grp, int idx, double left, double right, double bottom, double top, double zNear, double f1, double f2);
     osg::Vec3 getSunDirection() const;