Axiom.Core.SceneManager.ManualRender C# (CSharp) Method

ManualRender() public method

Manual rendering method, for advanced users only.
This method allows you to send rendering commands through the pipeline on demand, bypassing any normal world processing. You should only use this if you really know what you're doing; the engine does lots of things for you that you really should let it do. However, there are times where it may be useful to have this manual interface, for example overlaying something on top of the scene.

Because this is an instant rendering method, timing is important. The best time to call it is from a RenderTarget event handler.

Don't call this method a lot, it's designed for rare (1 or 2 times per frame) use. Calling it regularly per frame will cause frame rate drops!

public ManualRender ( RenderOperation op, Pass pass, Viewport vp, Matrix4 worldMatrix, Matrix4 viewMatrix, Matrix4 projMatrix, bool doBeginEndFrame ) : void
op RenderOperation A RenderOperation object describing the rendering op.
pass Pass The Pass to use for this render.
vp Viewport Reference to the viewport to render to.
worldMatrix Matrix4 The transform to apply from object to world space.
viewMatrix Matrix4 The transform to apply from object to view space.
projMatrix Matrix4 The transform to apply from view to screen space.
doBeginEndFrame bool /// If true, BeginFrame() and EndFrame() are called, otherwise not. /// You should leave this as false if you are calling this within the main render loop. ///
return void
		public virtual void ManualRender( RenderOperation op,
										  Pass pass,
										  Viewport vp,
										  Matrix4 worldMatrix,
										  Matrix4 viewMatrix,
										  Matrix4 projMatrix,
										  bool doBeginEndFrame )
		{
			// configure all necessary parameters
			this.targetRenderSystem.Viewport = vp;
			this.targetRenderSystem.WorldMatrix = worldMatrix;
			this.targetRenderSystem.ViewMatrix = viewMatrix;
			this.targetRenderSystem.ProjectionMatrix = projMatrix;

			if ( doBeginEndFrame )
			{
				this.targetRenderSystem.BeginFrame();
			}

			// set the pass and render the object
			this.SetPass( pass );
			this.targetRenderSystem.Render( op );

			if ( doBeginEndFrame )
			{
				this.targetRenderSystem.EndFrame();
			}
		}

Same methods

SceneManager::ManualRender ( RenderOperation op, Pass pass, Viewport vp, Matrix4 worldMatrix, Matrix4 viewMatrix, Matrix4 projMatrix ) : void
SceneManager