3#include <RendererCore/Meshes/MeshComponentBase.h>
5#include <RendererCore/../../../Data/Base/Shaders/Common/ObjectConstants.h>
9 PL_FORCE_INLINE
void FillPerInstanceData(plPerInstanceData& ref_perInstanceData,
const plMeshRenderData* pRenderData)
13 ref_perInstanceData.ObjectToWorld = objectToWorld;
15#if PL_ENABLED(PL_GAMEOBJECT_VELOCITY)
16 plMat4 lastObjectToWorld = pRenderData->m_LastGlobalTransform.
GetAsMat4();
17 ref_perInstanceData.LastObjectToWorld = lastObjectToWorld;
20 if (pRenderData->m_uiUniformScale)
22 ref_perInstanceData.ObjectToWorldNormal = objectToWorld;
23#if PL_ENABLED(PL_GAMEOBJECT_VELOCITY)
24 ref_perInstanceData.LastObjectToWorldNormal = lastObjectToWorld;
36 ref_perInstanceData.ObjectToWorldNormal = shaderT;
38#if PL_ENABLED(PL_GAMEOBJECT_VELOCITY)
45 ref_perInstanceData.LastObjectToWorldNormal = shaderT;
49 ref_perInstanceData.BoundingSphereRadius = pRenderData->m_GlobalBounds.m_fSphereRadius;
50 ref_perInstanceData.GameObjectID = pRenderData->m_uiUniqueID;
51 ref_perInstanceData.VertexColorAccessData = 0;
52 ref_perInstanceData.Color = pRenderData->m_Color;
plResult Invert(Type fEpsilon=plMath::SmallEpsilon< Type >())
Inverts this matrix. Return value indicates whether the matrix could be Inverted.
Definition AllClasses_inl.h:230
const plMat3Template< Type > GetTranspose() const
Returns the transpose of this matrix.
Definition Mat3_inl.h:164
const plMat3Template< Type > GetRotationalPart() const
Returns the 3x3 rotational and scaling part of the matrix.
Definition Mat4_inl.h:458
Definition MeshComponentBase.h:13
PL_ALWAYS_INLINE void IgnoreResult()
Used to silence compiler warnings, when success or failure doesn't matter.
Definition Types.h:69