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

RenderTextureShadowCasterQueueGroupObjects() protected method

Render a group rendering only shadow casters.
protected RenderTextureShadowCasterQueueGroupObjects ( RenderQueueGroup group ) : void
group RenderQueueGroup Render queue group.
return void
		protected virtual void RenderTextureShadowCasterQueueGroupObjects( RenderQueueGroup group )
		{
			// This is like the basic group render, except we skip all transparents
			// and we also render any non-shadowed objects
			// Note that non-shadow casters will have already been eliminated during
			// FindVisibleObjects

			// Override auto param ambient to force vertex programs and fixed function to
			// use shadow colour
			if ( this.IsShadowTechniqueAdditive )
			{
				this.autoParamDataSource.AmbientLight = ColorEx.Black;
				this.targetRenderSystem.AmbientLight = ColorEx.Black;
			}
			else
			{
				this.autoParamDataSource.AmbientLight = this.shadowColor;
				this.targetRenderSystem.AmbientLight = this.shadowColor;
			}

			// Iterate through priorities
			foreach ( RenderPriorityGroup priorityGroup in group.PriorityGroups.Values )
			{
				// Sort the queue first
				priorityGroup.Sort( this.cameraInProgress );

				// Do solids, override light list in case any vertex programs use them
				this.RenderSolidObjects( priorityGroup.solidPasses, false, this.nullLightList );
				this.renderingNoShadowQueue = true;
				this.RenderSolidObjects( priorityGroup.solidPassesNoShadow, false, this.nullLightList );
				this.renderingNoShadowQueue = false;

				// Do transparents that cast shadows
				this.RenderTransparentShadowCasterObjects( priorityGroup.transparentPasses, false, this.nullLightList );
			} // for each priority

			// reset ambient light
			this.autoParamDataSource.AmbientLight = this.ambientColor;
			this.targetRenderSystem.AmbientLight = this.ambientColor;
		}
SceneManager