void AttachDepthStencilTextureToFrameBuffer( Render::FrameBuffer* frameBuffer, Render::Texture* texture, uint32_t mipmapLevel );
/**
+ * Request to capture rendered result
+ * @param[in] frameBuffer The FrameBuffer
+ */
+ void CaptureRenderingResult(Render::FrameBuffer* frameBuffer);
+
+ /**
* This is called when the surface of the scene has been replaced.
* @param[in] scene The scene.
*/
new (slot) LocalType( &manager, &UpdateManager::AttachDepthStencilTextureToFrameBuffer, &frameBuffer, texture, mipmapLevel );
}
+inline void CaptureRenderingResult(UpdateManager& manager, Render::FrameBuffer& frameBuffer)
+{
+ using LocalType = MessageValue1<UpdateManager, Render::FrameBuffer*>;
+
+ // Reserve some memory inside the message queue
+ uint32_t* slot = manager.ReserveMessageSlot(sizeof(LocalType));
+
+ // Construct message in the message queue memory; note that delete should not be called on the return value
+ new(slot) LocalType(&manager, &UpdateManager::CaptureRenderingResult, &frameBuffer);
+}
+
inline void SetDepthIndicesMessage( UpdateManager& manager, OwnerPointer< NodeDepths >& nodeDepths )
{
using LocalType = MessageValue1<UpdateManager, OwnerPointer<NodeDepths> >;