Axiom.SceneManagers.Bsp.BspSceneManager.RenderSingleObject C# (CSharp) Method

RenderSingleObject() protected method

Overriden from SceneManager.
protected RenderSingleObject ( IRenderable renderable, Pass pass, bool doLightIteration, LightList manualLightList ) : void
renderable IRenderable
pass Axiom.Graphics.Pass
doLightIteration bool
manualLightList LightList
return void
		protected override void RenderSingleObject( IRenderable renderable, Pass pass,
			bool doLightIteration, LightList manualLightList )
		{
			if ( renderable is BspGeometry )
			{
				// Render static level geometry
				if ( doLightIteration )
				{
					// render all geometry without lights first
					RenderStaticGeometry();

					// render geometry affected by each visible light
					foreach ( Light l in lightsAffectingFrustum )
					{
						RenderTextureLighting( l );
					}
				}
				else
				{
					if ( manualLightList.Count == 0 )
					{
						if ( illuminationStage == IlluminationRenderStage.RenderReceiverPass )
						{
							// texture shadows
							RenderTextureShadowOnGeometry();
						}
						else
						{
							// ambient stencil pass, render geometry without lights
							RenderStaticGeometry();
						}
					}
					else
					{
						// render only geometry affected by the provided light
						foreach ( Light l in manualLightList )
						{
							RenderTextureLighting( l );
						}
					}
				}
			}
			else
			{
				base.RenderSingleObject( renderable, pass, doLightIteration, manualLightList );
			}
		}