15 m_SomeVector2.y = 1.0f;
25 m_eFlags |= 0b00001000;
26 m_pModelRef = a_pModelPtr;
28 TTODO(
"Initialise some unknown values" );
39 m_pModelInstance->Update( a_fDeltaTime );
47 m_pModelInstance->SetLOD( 0 );
49 auto uiOldClipFlags = pContext->
SetClipFlags( a_uiClipFlags );
51 m_TransformObject.Push();
52 m_pModelInstance->Render();
53 m_TransformObject.Pop();
55 pContext->SetClipFlags( uiOldClipFlags );
63 auto pModel = m_pModelInstance->GetModel();
64 auto& lod = pModel->GetLOD( 0 );
66 TVector4 transformScale = m_TransformObject.GetScale();
67 TSphere bounding = lod.BoundingSphere;
76 m_TransformObject.GetLocalMatrixImp( transformMatrix );
82 auto pWorldPlanes = pContext->GetWorldPlanes();
84 if ( !pContext->CullSphereToFrustumSimple( bounding, pWorldPlanes, 6 ) )
95 if ( m_pModelInstance )
97 m_pModelInstance->Delete();
98 m_pModelInstance =
TNULL;
99 m_eFlags &= ~0b00001000;
Rendering system interface for the Toshi engine.
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
TFORCEINLINE const T & Max(const T &a, const T &b)
static constexpr void TransformVector(TVector3 &a_rOutVector, const TMatrix44 &a_rMatrix, const TVector3 &a_rVector)
TFORCEINLINE TVector4 & AsVector4()
constexpr TFORCEINLINE TFLOAT GetRadius() const
constexpr TFORCEINLINE TVector3 & GetOrigin()
constexpr void Multiply(const TVector4 &vec)
TModelInstance * CreateInstance()
TModel * GetModel() const
TUINT SetClipFlags(TUINT a_uiClipFlags)
TRenderContext * GetCurrentContext() const
void DestroyModelInstance()
TBOOL Render(TUINT a_uiClipFlags, const TVector3 &a_rBounding)
void Create(TManagedModel *a_pModelPtr)
void Update(TFLOAT a_fDeltaTime)
static TFORCEINLINE TRenderInterface * GetSingleton()