- if( mResendFlag & RESEND_INDEXED_DRAW_ELEMENTS_COUNT )
- {
- typedef MessageValue1< Render::Renderer, size_t > DerivedType;
- unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
- new (slot) DerivedType( mRenderer, &Render::Renderer::SetIndexedDrawElementsCount, mIndexedDrawElementsCount );
- mResendFlag &= ~RESEND_INDEXED_DRAW_FIRST_ELEMENT;
- }
+ if( mResendFlag & RESEND_DEPTH_WRITE_MODE )
+ {
+ typedef MessageValue1< Render::Renderer, DepthWriteMode::Type > DerivedType;
+ unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetDepthWriteMode, mDepthWriteMode );
+ }
+
+ if( mResendFlag & RESEND_DEPTH_TEST_MODE )
+ {
+ typedef MessageValue1< Render::Renderer, DepthTestMode::Type > DerivedType;
+ unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetDepthTestMode, mDepthTestMode );
+ }
+
+ if( mResendFlag & RESEND_DEPTH_FUNCTION )
+ {
+ typedef MessageValue1< Render::Renderer, DepthFunction::Type > DerivedType;
+ unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
+ new (slot) DerivedType( mRenderer, &Render::Renderer::SetDepthFunction, mDepthFunction );
+ }
+
+ 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 );
+ }