Event arguments for viewport updates while processing a RenderTarget.
Inheritance: RenderTargetEventArgs
Ejemplo n.º 1
0
        ///<summary>
        ///    @see RenderTargetListener.PreViewportUpdate
        ///</summary>
        public virtual void BeforeViewportUpdate(RenderTargetViewportEventArgs evt)
        {
            // Only set up if there is at least one compositor enabled, and it's this viewport
            if (evt.Viewport != this.viewport || !this.anyCompositorsEnabled)
            {
                return;
            }

            // set original scene details from viewport
            var pass       = this.originalScene.Technique.OutputTarget.Passes[0];
            var passParent = pass.Parent;

            if (pass.ClearBuffers != this.viewport.ClearBuffers || pass.ClearColor != this.viewport.BackgroundColor ||
                passParent.VisibilityMask != this.viewport.VisibilityMask ||
                passParent.MaterialScheme != this.viewport.MaterialScheme ||
                passParent.ShadowsEnabled != this.viewport.ShowShadows)
            {
                pass.ClearBuffers         = this.viewport.ClearBuffers;
                pass.ClearColor           = this.viewport.BackgroundColor;
                pass.ClearDepth           = this.viewport.ClearDepth;
                passParent.VisibilityMask = this.viewport.VisibilityMask;
                passParent.MaterialScheme = this.viewport.MaterialScheme;
                passParent.ShadowsEnabled = this.viewport.ShowShadows;
                Compile();
            }

            var camera = this.viewport.Camera;

            if (camera != null)
            {
                // Prepare for output operation
                PreTargetOperation(this.outputOperation, this.viewport, this.viewport.Camera);
            }
        }
Ejemplo n.º 2
0
 ///<summary>
 ///    @see RenderTargetListener.ViewportRemoved
 ///</summary>
 public virtual void OnViewportRemoved(RenderTargetViewportEventArgs evt)
 {
     // check this is the viewport we're attached to (multi-viewport targets)
     if (evt.Viewport == this.viewport)
     {
         // this chain is now orphaned
         // can't delete it since held from outside, but release all resources being used
         DestroyResources();
     }
 }
Ejemplo n.º 3
0
        ///<summary>
        ///    @see RenderTargetListener.PostViewportUpdate
        ///</summary>
        public virtual void AfterViewportUpdate(RenderTargetViewportEventArgs evt)
        {
            // Only tidy up if there is at least one compositor enabled, and it's this viewport
            if (evt.Viewport != this.viewport || !this.anyCompositorsEnabled)
            {
                return;
            }

            if (this.viewport.Camera != null)
            {
                PostTargetOperation(this.outputOperation, this.viewport, this.viewport.Camera);
            }
        }
Ejemplo n.º 4
0
		///<summary>
		///    @see RenderTargetListener.ViewportRemoved
		///</summary>
		public virtual void OnViewportRemoved( RenderTargetViewportEventArgs evt )
		{
			// check this is the viewport we're attached to (multi-viewport targets)
			if ( evt.Viewport == this.viewport )
			{
				// this chain is now orphaned
				// can't delete it since held from outside, but release all resources being used
				DestroyResources();
			}
		}
Ejemplo n.º 5
0
		///<summary>
		///    @see RenderTargetListener.PostViewportUpdate
		///</summary>
		public virtual void AfterViewportUpdate( RenderTargetViewportEventArgs evt )
		{
			// Only tidy up if there is at least one compositor enabled, and it's this viewport
			if ( evt.Viewport != this.viewport || !this.anyCompositorsEnabled )
			{
				return;
			}

			if ( this.viewport.Camera != null )
			{
				PostTargetOperation( this.outputOperation, this.viewport, this.viewport.Camera );
			}
		}
Ejemplo n.º 6
0
		///<summary>
		///    @see RenderTargetListener.PreViewportUpdate
		///</summary>
		public virtual void BeforeViewportUpdate( RenderTargetViewportEventArgs evt )
		{
			// Only set up if there is at least one compositor enabled, and it's this viewport
			if ( evt.Viewport != this.viewport || !this.anyCompositorsEnabled )
			{
				return;
			}

			// set original scene details from viewport
			var pass = this.originalScene.Technique.OutputTarget.Passes[ 0 ];
			var passParent = pass.Parent;
			if ( pass.ClearBuffers != this.viewport.ClearBuffers || pass.ClearColor != this.viewport.BackgroundColor ||
			     passParent.VisibilityMask != this.viewport.VisibilityMask ||
			     passParent.MaterialScheme != this.viewport.MaterialScheme ||
			     passParent.ShadowsEnabled != this.viewport.ShowShadows )
			{
				pass.ClearBuffers = this.viewport.ClearBuffers;
				pass.ClearColor = this.viewport.BackgroundColor;
				pass.ClearDepth = this.viewport.ClearDepth;
				passParent.VisibilityMask = this.viewport.VisibilityMask;
				passParent.MaterialScheme = this.viewport.MaterialScheme;
				passParent.ShadowsEnabled = this.viewport.ShowShadows;
				Compile();
			}

			var camera = this.viewport.Camera;
			if ( camera != null )
			{
				// Prepare for output operation
				PreTargetOperation( this.outputOperation, this.viewport, this.viewport.Camera );
			}
		}