- RenderQueue& renderQueue = mSceneController->GetRenderQueue();
-
- if( !mLightInitialized || ( mAffectedByLighting != mLastLightingState ) )
- {
- mLastLightingState = mAffectedByLighting;
- mLightInitialized = true;
-
- typedef MessageValue1< MeshRenderer, bool > DerivedType;
-
- // Reserve some memory inside the render queue
- unsigned int* slot = renderQueue.ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) );
-
- // Construct message in the render queue memory; note that delete should not be called on the return value
- new (slot) DerivedType( mRenderer, &MeshRenderer::SetAffectedByLighting, mAffectedByLighting );
- }