///<summary> /// Prepare a viewport, the camera and the scene for a rendering operation ///</summary> protected void PreTargetOperation(CompositorTargetOperation op, Viewport vp, Camera cam) { SceneManager sm = cam.SceneManager; /// Set up render target listener listener.SetOperation(op, sm, sm.TargetRenderSystem); listener.NotifyViewport(vp); /// Register it sm.QueueStarted += listener.OnRenderQueueStarted; sm.QueueEnded += listener.OnRenderQueueEnded; /// Set visiblity mask oldVisibilityMask = sm.VisibilityMask; sm.VisibilityMask = op.VisibilityMask; /// Set whether we find visibles oldFindVisibleObjects = sm.FindVisibleObjectsBool; sm.FindVisibleObjectsBool = op.FindVisibleObjects; /// Set LOD bias level oldLodBias = cam.LodBias; cam.LodBias = cam.LodBias * op.LodBias; /// Set material scheme oldMaterialScheme = vp.MaterialScheme; vp.MaterialScheme = op.MaterialScheme; /// XXX TODO //vp->setClearEveryFrame( true ); //vp->setOverlaysEnabled( false ); //vp->setBackgroundColour( op.clearColour ); }