///<summary> /// Restore a viewport, the camera and the scene after a rendering operation ///</summary> protected void PostTargetOperation(CompositorTargetOperation op, Viewport vp, Camera cam) { SceneManager sm = cam.SceneManager; /// Unregister our listener sm.QueueStarted -= listener.OnRenderQueueStarted; sm.QueueEnded -= listener.OnRenderQueueEnded; /// Flush remaing operations listener.FlushUpTo(RenderQueueGroupID.Count); /// Restore default scene and camera settings sm.VisibilityMask = oldVisibilityMask; sm.FindVisibleObjectsBool = oldFindVisibleObjects; cam.LodBias = oldLodBias; vp.MaterialScheme = oldMaterialScheme; }