XII Release 0.1.0
Loading...
Searching...
No Matches
xiiMsgExtractRenderData Struct Reference

Sent to components or component managers to request them to extract their render data into the given structure. More...

#include <MsgExtractRenderData.h>

Inheritance diagram for xiiMsgExtractRenderData:
[legend]

Public Types

using SubmitRenderDataFunction = void (*)(void* pContext, const xiiMsgExtractRenderData& msg, xiiRenderData* pRenderData, xiiRenderData::Caching::Enum caching)

Public Member Functions

 XII_DECLARE_MESSAGE_TYPE (xiiMsgExtractRenderData, xiiMessage)
void AddRenderData (xiiRenderData *pRenderData, xiiRenderData::Caching::Enum caching=xiiRenderData::Caching::Never)
 Adds a single extracted render data item.
void AddRenderDataBatch (const xiiRenderDataBatch &batch, xiiRenderData::Caching::Enum caching=xiiRenderData::Caching::Never)
 Pushes a batch of extracted data safely to the internal list.
Public Member Functions inherited from xiiMessage
virtual xiiInt32 GetSortingKey () const
 Derived message types can override this method to influence sorting order. Smaller keys are processed first.
XII_ALWAYS_INLINE xiiMessageId GetId () const
 Returns the id for this message type.
XII_ALWAYS_INLINE xiiUInt16 GetSize () const
 Returns the size in byte of this message.
XII_ALWAYS_INLINE xiiUInt64 GetHash () const
 Calculates a hash of the message.
virtual void Serialize (xiiStreamWriter &ref_stream) const
virtual void Deserialize (xiiStreamReader &ref_stream, xiiUInt8 uiTypeVersion)
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Public Attributes

xiiBitflags< xiiRenderExtractionCategory > m_Requirements = xiiRenderExtractionCategory::All
const xiiView * m_pView = nullptr
 The view for which the render data should be extracted. Components can use this to decide what data to extract based on view properties (e.g. camera usage hint).
xiiExtractedRenderData * m_pExtractedRenderData = nullptr
 The structure to which extracted render data should be submitted. Components fill this by calling AddRenderData() and AddRenderDataBatch().
SubmitRenderDataFunction m_SubmitRenderDataFunction = nullptr
 The function pointer to call for submitting render data. This is used internally by xiiRenderWorldModule to route submissions from components to the correct view's extracted data cache, and should not be called directly by components. Components should call AddRenderData() and AddRenderDataBatch() which will forward to this function pointer with the correct context.
void * m_pSubmitRenderDataContext = nullptr
 The context pointer to pass when calling m_SubmitRenderDataFunction. This is used internally by xiiRenderWorldModule to route submissions from components to the correct view's extracted data cache, and should not be used directly by components.
xiiGameObjectHandle m_hCurrentObject
 The game object for which render data is currently being extracted. This is set by xiiRenderWorldModule before sending the message to components, so that components can use this to decide what data to extract based on object properties.
xiiComponentHandle m_hCurrentComponent
 The component for which render data is currently being extracted. This is set by xiiRenderWorldModule before sending the message to components, so that components can use this to decide what data to extract based on component properties.

Additional Inherited Members

Static Public Member Functions inherited from xiiMessage
static void PackageForTransfer (const xiiMessage &msg, xiiStreamWriter &ref_stream)
static xiiUniquePtr< xiiMessage > ReplicatePackedMessage (xiiStreamReader &ref_stream)
Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()
Protected Member Functions inherited from xiiMessage
 xiiMessage (size_t messageSize)
Static Protected Member Functions inherited from xiiMessage
static XII_ALWAYS_INLINE xiiMessageId GetNextMsgId ()
Protected Attributes inherited from xiiMessage
xiiMessageId m_Id
xiiUInt16 m_uiSize
Static Protected Attributes inherited from xiiMessage
static xiiMessageId s_NextMsgId = 0

Detailed Description

Sent to components or component managers to request them to extract their render data into the given structure.


The documentation for this struct was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/MsgExtractRenderData.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/Implementation/MsgExtractRenderData.cpp