protected virtual bool ValidateRenderableForRendering( Pass pass, IRenderable renderable )
{
// Skip this renderable if we're doing texture shadows, it casts shadows
// and we're doing the render receivers pass
if ( !this.suppressShadows && this.currentViewport.ShowShadows && this.IsShadowTechniqueTextureBased )
{
if ( this.illuminationStage == IlluminationRenderStage.RenderReceiverPass &&
renderable.CastsShadows && !this.shadowTextureSelfShadow )
{
return false;
}
// Some duplication here with validatePassForRendering, for transparents
if ( ( ( this.IsShadowTechniqueModulative
&& this.illuminationStage == IlluminationRenderStage.RenderReceiverPass )
|| this.illuminationStage == IlluminationRenderStage.RenderToTexture
|| this.suppressRenderStateChanges ) &&
pass.Index > 0 )
{
return false;
}
}
return true;
}