internal virtual void QueueSkiesForRendering( Camera camera )
{
// translate the skybox by cam position
if ( this.skyPlaneNode != null )
{
this.skyPlaneNode.Position = camera.DerivedPosition;
}
if ( this.skyBoxNode != null )
{
this.skyBoxNode.Position = camera.DerivedPosition;
}
if ( this.skyDomeNode != null )
{
this.skyDomeNode.Position = camera.DerivedPosition;
}
RenderQueueGroupID qid;
// if the skyplane is enabled, queue up the single plane
if ( this.isSkyPlaneEnabled )
{
qid = this.isSkyPlaneDrawnFirst ? RenderQueueGroupID.SkiesEarly : RenderQueueGroupID.SkiesLate;
this.GetRenderQueue().AddRenderable( this.skyPlaneEntity.GetSubEntity( 0 ), 1, qid );
}
// if the skybox is enabled, queue up all the planes
if ( this.isSkyBoxEnabled )
{
qid = this.isSkyBoxDrawnFirst ? RenderQueueGroupID.SkiesEarly : RenderQueueGroupID.SkiesLate;
for ( int plane = 0; plane < 6; plane++ )
{
this.GetRenderQueue().AddRenderable( this.skyBoxEntities[ plane ].GetSubEntity( 0 ), 1, qid );
}
}
// if the skydome is enabled, queue up all the planes
if ( this.isSkyDomeEnabled )
{
qid = this.isSkyDomeDrawnFirst ? RenderQueueGroupID.SkiesEarly : RenderQueueGroupID.SkiesLate;
for ( int plane = 0; plane < 5; ++plane )
{
this.GetRenderQueue().AddRenderable( this.skyDomeEntities[ plane ].GetSubEntity( 0 ), 1, qid );
}
}
}