protected virtual void RenderSolidObjects( System.Collections.SortedList list,
bool doLightIteration,
LightList manualLightList )
{
// ----- SOLIDS LOOP -----
for ( int i = 0; i < list.Count; i++ )
{
RenderableList renderables = (RenderableList)list.GetByIndex( i );
// bypass if this group is empty
if ( renderables.Count == 0 )
{
continue;
}
Pass pass = (Pass)list.GetKey( i );
// Give SM a chance to eliminate this pass
if ( !this.ValidatePassForRendering( pass ) )
{
continue;
}
// For solids, we try to do each pass in turn
Pass usedPass = this.SetPass( pass );
// render each object associated with this rendering pass
for ( int r = 0; r < renderables.Count; r++ )
{
IRenderable renderable = (IRenderable)renderables[ r ];
// Give SM a chance to eliminate
if ( !this.ValidateRenderableForRendering( usedPass, renderable ) )
{
continue;
}
// Render a single object, this will set up auto params if required
this.RenderSingleObject( renderable, usedPass, doLightIteration, manualLightList );
}
}
}