![]() |
ezEngine
Release 25.03
|
Renders a single instance of a static mesh. More...
#include <MeshComponent.h>
Public Member Functions | |
void | OnMsgExtractGeometry (ezMsgExtractGeometry &ref_msg) const |
Extracts the render geometry for export etc. | |
![]() | |
virtual void | SerializeComponent (ezWorldWriter &inout_stream) const override |
Override this to save the current state of the component to the given stream. | |
virtual void | DeserializeComponent (ezWorldReader &inout_stream) override |
Override this to load the current state of the component from the given stream. More... | |
virtual ezResult | GetLocalBounds (ezBoundingBoxSphere &ref_bounds, bool &ref_bAlwaysVisible, ezMsgUpdateLocalBounds &ref_msg) override |
Called by ezRenderComponent::OnUpdateLocalBounds(). More... | |
void | SetMesh (const ezMeshResourceHandle &hMesh) |
Changes which mesh to render. | |
const EZ_ALWAYS_INLINE ezMeshResourceHandle & | GetMesh () const |
EZ_ADD_RESOURCEHANDLE_ACCESSORS_WITH_SETTER (Mesh, m_hMesh, SetMesh) | |
void | SetMaterial (ezUInt32 uiIndex, const ezMaterialResourceHandle &hMaterial) |
Sets the material that should be used for the sub-mesh with the given index. | |
ezMaterialResourceHandle | GetMaterial (ezUInt32 uiIndex) const |
void | SetColor (const ezColor &color) |
An additional tint color passed to the renderer to modify the mesh. | |
const ezColor & | GetColor () const |
void | SetCustomData (const ezVec4 &vData) |
An additional vec4 passed to the renderer that can be used by custom material shaders for effects. | |
const ezVec4 & | GetCustomData () const |
void | SetSortingDepthOffset (float fOffset) |
The sorting depth offset allows to tweak the order in which this mesh is rendered relative to other meshes. More... | |
float | GetSortingDepthOffset () const |
void | OnMsgSetMeshMaterial (ezMsgSetMeshMaterial &ref_msg) |
void | OnMsgSetColor (ezMsgSetColor &ref_msg) |
void | OnMsgSetCustomData (ezMsgSetCustomData &ref_msg) |
![]() | |
void | TriggerLocalBoundsUpdate () |
Call this when some value was modified that affects the size of the local bounding box and it should be recomputed. | |
EZ_ALWAYS_INLINE ezUInt32 | GetUniqueIdForRendering (ezUInt32 uiInnerIndex=0, ezUInt32 uiInnerIndexShift=24) const |
Computes a unique ID for the given component, that is usually given to the renderer to distinguish objects. | |
![]() | |
void | SetActiveFlag (bool bEnabled) |
Sets the active flag of the component, which affects its active state. More... | |
bool | GetActiveFlag () const |
Checks whether the 'active flag' is set on this component. Note that this does not mean that the component is also 'active'. More... | |
bool | IsActive () const |
Checks whether this component is in an active state. More... | |
bool | IsActiveAndInitialized () const |
Returns whether this component is active and initialized. More... | |
bool | IsActiveAndSimulating () const |
Whether the component is currently active and simulation has been started as well. More... | |
ezComponentManagerBase * | GetOwningManager () |
Returns the corresponding manager for this component. | |
const ezComponentManagerBase * | GetOwningManager () const |
Returns the corresponding manager for this component. | |
ezGameObject * | GetOwner () |
Returns the owner game object if the component is attached to one or nullptr. | |
const ezGameObject * | GetOwner () const |
Returns the owner game object if the component is attached to one or nullptr. | |
ezWorld * | GetWorld () |
Returns the corresponding world for this component. | |
const ezWorld * | GetWorld () const |
Returns the corresponding world for this component. | |
ezComponentHandle | GetHandle () const |
Returns a handle to this component. | |
ezUInt32 | GetUniqueID () const |
Returns the unique id for this component. | |
void | SetUniqueID (ezUInt32 uiUniqueID) |
Sets the unique id for this component. | |
void | EnsureInitialized () |
Ensures that the component is initialized. Must only be called from another component's Initialize callback. | |
void | EnsureSimulationStarted () |
Ensures that the OnSimulationStarted method has been called. Must only be called from another component's OnSimulationStarted callback. | |
EZ_ALWAYS_INLINE bool | SendMessage (ezMessage &ref_msg) |
Sends a message to this component. | |
EZ_ALWAYS_INLINE bool | SendMessage (ezMessage &ref_msg) const |
void | PostMessage (const ezMessage &msg, ezTime delay=ezTime::MakeZero(), ezObjectMsgQueueType::Enum queueType=ezObjectMsgQueueType::NextFrame) const |
Queues the message for the given phase. The message is processed after the given delay in the corresponding phase. | |
virtual bool | HandlesMessage (const ezMessage &msg) const |
Returns whether the given Message is handled by this component. | |
void | SetUserFlag (ezUInt8 uiFlagIndex, bool bSet) |
Be careful to check which flags may already be in use by base classes. | |
bool | GetUserFlag (ezUInt8 uiFlagIndex) const |
Retrieves a custom flag. Index must be between 0 and 7. | |
void | SetCreatedByPrefab () |
Adds ezObjectFlags::CreatedByPrefab to the component. See the flag for details. | |
bool | WasCreatedByPrefab () const |
Checks whether the ezObjectFlags::CreatedByPrefab flag is set on this component. | |
![]() | |
virtual const ezRTTI * | GetDynamicRTTI () const |
bool | IsInstanceOf (const ezRTTI *pType) const |
Returns whether the type of this instance is of the given type or derived from it. | |
template<typename T > | |
EZ_ALWAYS_INLINE bool | IsInstanceOf () const |
Returns whether the type of this instance is of the given type or derived from it. | |
Additional Inherited Members | |
![]() | |
static ezUInt32 | GetUniqueIdForRendering (const ezComponent &component, ezUInt32 uiInnerIndex=0, ezUInt32 uiInnerIndexShift=24) |
Computes a unique ID for the given component, that is usually given to the renderer to distinguish objects. | |
![]() | |
static const ezRTTI * | GetStaticRTTI () |
![]() | |
virtual ezMeshRenderData * | CreateRenderData () const |
ezUInt32 | Materials_GetCount () const |
ezString | Materials_GetValue (ezUInt32 uiIndex) const |
void | Materials_SetValue (ezUInt32 uiIndex, ezString sValue) |
void | Materials_Insert (ezUInt32 uiIndex, ezString sValue) |
void | Materials_Remove (ezUInt32 uiIndex) |
void | OnMsgExtractRenderData (ezMsgExtractRenderData &msg) const |
![]() | |
virtual void | Deinitialize () override |
This method is called before the component is destroyed. A derived type can override this method to do common de-initialization work. More... | |
virtual void | OnActivated () override |
This method is called when the component gets activated. More... | |
virtual void | OnDeactivated () override |
This method is called when the component gets deactivated. More... | |
void | OnUpdateLocalBounds (ezMsgUpdateLocalBounds &msg) |
void | InvalidateCachedRenderData () |
![]() | |
ezComponent () | |
Keep the constructor private or protected in derived classes, so it cannot be called manually. | |
bool | IsDynamic () const |
Returns whether this component is dynamic and thus can only be attached to dynamic game objects. | |
virtual ezWorldModuleTypeId | GetTypeId () const =0 |
virtual ezComponentMode::Enum | GetMode () const =0 |
virtual void | Initialize () |
Can be overridden for basic initialization that depends on a valid hierarchy and position. More... | |
virtual void | OnSimulationStarted () |
This method is called once for active components, at the start of the next world update, but only when the world is simulated. More... | |
void | EnableUnhandledMessageHandler (bool enable) |
By default disabled. Enable to have OnUnhandledMessage() called for every unhandled message. | |
virtual bool | OnUnhandledMessage (ezMessage &msg, bool bWasPostedMsg) |
When EnableUnhandledMessageHandler() was activated, this is called for all messages for which there is no dedicated message handler. More... | |
virtual bool | OnUnhandledMessage (ezMessage &msg, bool bWasPostedMsg) const |
When EnableUnhandledMessageHandler() was activated, this is called for all messages for which there is no dedicated message handler. More... | |
bool | IsInitialized () const |
bool | IsInitializing () const |
bool | IsSimulationStarted () const |
![]() | |
ezMeshResourceHandle | m_hMesh |
ezDynamicArray< ezMaterialResourceHandle > | m_Materials |
ezColor | m_Color = ezColor::White |
ezVec4 | m_vCustomData = ezVec4(0, 1, 0, 1) |
float | m_fSortingDepthOffset = 0.0f |
![]() | |
const ezRTTI * | m_pMessageDispatchType = nullptr |
Messages will be dispatched to this type. Default is what GetDynamicRTTI() returns, can be redirected if necessary. | |
Renders a single instance of a static mesh.
This is the main component to use for rendering regular meshes.