+ if( mResendFlag & RESEND_RENDER_MODE )
+ {
+ typedef MessageValue1< Render::Renderer, RenderMode::Type > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetRenderMode, mStencilParameters.renderMode );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_FUNCTION )
+ {
+ typedef MessageValue1< Render::Renderer, StencilFunction::Type > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilFunction, mStencilParameters.stencilFunction );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_FUNCTION_MASK )
+ {
+ typedef MessageValue1< Render::Renderer, int > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilFunctionMask, mStencilParameters.stencilFunctionMask );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_FUNCTION_REFERENCE )
+ {
+ typedef MessageValue1< Render::Renderer, int > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilFunctionReference, mStencilParameters.stencilFunctionReference );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_MASK )
+ {
+ typedef MessageValue1< Render::Renderer, int > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilMask, mStencilParameters.stencilMask );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_OPERATION_ON_FAIL )
+ {
+ typedef MessageValue1< Render::Renderer, StencilOperation::Type > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilOperationOnFail, mStencilParameters.stencilOperationOnFail );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_OPERATION_ON_Z_FAIL )
+ {
+ typedef MessageValue1< Render::Renderer, StencilOperation::Type > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilOperationOnZFail, mStencilParameters.stencilOperationOnZFail );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_OPERATION_ON_Z_PASS )
+ {
+ typedef MessageValue1< Render::Renderer, StencilOperation::Type > DerivedType;
+ uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilOperationOnZPass, mStencilParameters.stencilOperationOnZPass );
+ }
+