Axiom.ParticleSystems.BillboardParticleRenderer.UpdateRenderQueue C# (CSharp) Method

UpdateRenderQueue() public method

public UpdateRenderQueue ( RenderQueue queue, List currentParticles, bool cullIndividually ) : void
queue Axiom.Graphics.RenderQueue
currentParticles List
cullIndividually bool
return void
		public override void UpdateRenderQueue( RenderQueue queue,
											   List<Particle> currentParticles,
											   bool cullIndividually )
		{
			billboardSet.CullIndividual = cullIndividually;

			// Update billboard set geometry
			billboardSet.BeginBillboards();
			Billboard bb = new Billboard();
			foreach ( Particle p in currentParticles )
			{
				bb.Position = p.Position;
				if ( billboardSet.BillboardType == BillboardType.OrientedSelf ||
					billboardSet.BillboardType == BillboardType.PerpendicularSelf )
				{
					// Normalise direction vector
					bb.Direction = p.Direction;
					bb.Direction.Normalize();
				}
				bb.Color = p.Color;
				bb.rotationInRadians = p.rotationInRadians;
				bb.HasOwnDimensions = p.HasOwnDimensions;
				if ( bb.HasOwnDimensions )
				{
					bb.width = p.Width;
					bb.height = p.Height;
				}
				billboardSet.InjectBillboard( bb );
			}

			billboardSet.EndBillboards();

			// Update the queue
			billboardSet.UpdateRenderQueue( queue );
		}