+ if( mResendFlag & RESEND_STENCIL_MODE )
+ {
+ typedef MessageValue1< Render::Renderer, StencilMode::Type > DerivedType;
+ unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilMode, mStencilParameters.stencilMode );
+ }
+
+ if( mResendFlag & RESEND_STENCIL_FUNCTION )
+ {
+ typedef MessageValue1< Render::Renderer, StencilFunction::Type > DerivedType;
+ unsigned int* 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;
+ unsigned int* 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;
+ unsigned int* 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;
+ unsigned int* 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;
+ unsigned int* 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;
+ unsigned int* 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;
+ unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilOperationOnZPass, mStencilParameters.stencilOperationOnZPass );
+ }
+
+ if( mResendFlag & RESEND_WRITE_TO_COLOR_BUFFER )
+ {
+ typedef MessageValue1< Render::Renderer, bool > DerivedType;
+ unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetWriteToColorBuffer, mWriteToColorBuffer );
+ }
+