NW4F G3d
Loading...
Searching...
No Matches
nw::g3d::ShaderParamAnimObj Class Reference

#include <g3d_ShaderParamAnimObj.h>

Inherits nw::g3d::ModelAnimObj.

Classes

class  InitArg
class  Sizer

Public Types

enum  Alignment { BUFFER_ALIGNMENT = 4 }
Public Types inherited from nw::g3d::AnimObj
enum  BindFlag { ENABLED = AnimBindTable::ENABLED , SKIP_CALC = AnimBindTable::SKIP_CALC , SKIP_APPLY = AnimBindTable::SKIP_APPLY , DISABLED = AnimBindTable::DISABLED }

Public Member Functions

 ShaderParamAnimObj ()
bool Init (const InitArg &arg, void *pBuffer, size_t bufferSize)
virtual BindResult Bind (const ResModel *pModel)
virtual BindResult Bind (const ModelObj *pModel)
virtual void BindFast (const ResModel *pModel)
void SetBindFlag (int materialIndex, BindFlag flag)
BindFlag GetBindFlag (int materialIndex)
virtual void ClearResult ()
virtual void Calc ()
virtual void ApplyTo (ModelObj *pModelObj) const
const ResShaderParamAnimGetResource () const
void SetResource (ResShaderParamAnim *pRes)
void ResetResource ()
bool IsAcceptable (const ResModel *pModel) const
bool IsAcceptable (const ResShaderParamAnim *pRes) const
Public Member Functions inherited from nw::g3d::ModelAnimObj
AnimBindTableGetBindTable ()
const AnimBindTableGetBindTable () const
bool IsTargetBound () const
int GetAnimCount () const
int GetTargetCount () const
Public Member Functions inherited from nw::g3d::AnimObj
virtual ~AnimObj ()
AnimFrameCtrlGetFrameCtrl ()
const AnimFrameCtrlGetFrameCtrl () const
void SetFrameCtrl (AnimFrameCtrl *pFrameCtrl)
AnimFrameCtrlGetDefaultFrameCtrl ()
const AnimFrameCtrlGetDefaultFrameCtrl () const
AnimContextGetContext ()
const AnimContextGetContext () const
void InvalidateContext ()
int GetCurveCount () const
void * GetBufferPtr ()

Static Public Member Functions

static size_t CalcBufferSize (const InitArg &arg)

Protected Member Functions

ResShaderParamMatAnimGetMatAnim (int animIndex)
const ResShaderParamMatAnimGetMatAnim (int animIndex) const
BindResult SubBind (const ResShaderParamMatAnim *pMatAnim, const ResMaterial *pMaterial)
BindResult SubBindFast (const ResShaderParamMatAnim *pMatAnim)
void ApplyTo (MaterialObj *pMaterialObj, int animIndex) const
Protected Member Functions inherited from nw::g3d::ModelAnimObj
 ModelAnimObj ()
void SetTargetBound ()
void SetTargetUnbound ()
void SetBindFlagImpl (int targetIndex, BindFlag flag)
BindFlag GetBindFlagImpl (int targetIndex) const
Protected Member Functions inherited from nw::g3d::AnimObj
 AnimObj ()
void SetBufferPtr (void *pBuffer)
void SetResultBuffer (void *pBuffer)
void * GetResultBuffer ()
const void * GetResultBuffer () const
void ResetFrameCtrl (int frameCount, bool loop)
bool IsFrameChanged () const
void UpdateLastFrame ()

Private Member Functions

 NW_G3D_DISALLOW_COPY_AND_ASSIGN (ShaderParamAnimObj)

Private Attributes

ResShaderParamAnimm_pRes
ResShaderParamMatAnimDatam_pMatAnimArray
s32 m_MaxMatAnim
s32 m_MaxSubBind
u16 * m_pSubBindIndexArray

Member Enumeration Documentation

◆ Alignment

Enumerator
BUFFER_ALIGNMENT 

Constructor & Destructor Documentation

◆ ShaderParamAnimObj()

nw::g3d::ShaderParamAnimObj::ShaderParamAnimObj ( )
inline

Member Function Documentation

◆ Init()

bool nw::g3d::ShaderParamAnimObj::Init ( const InitArg & arg,
void * pBuffer,
size_t bufferSize )

◆ CalcBufferSize()

size_t nw::g3d::ShaderParamAnimObj::CalcBufferSize ( const InitArg & arg)
static

◆ Bind() [1/2]

BindResult nw::g3d::ShaderParamAnimObj::Bind ( const ResModel * pModel)
virtual

Implements nw::g3d::ModelAnimObj.

◆ Bind() [2/2]

BindResult nw::g3d::ShaderParamAnimObj::Bind ( const ModelObj * pModel)
virtual

Implements nw::g3d::ModelAnimObj.

◆ BindFast()

void nw::g3d::ShaderParamAnimObj::BindFast ( const ResModel * pModel)
virtual

Implements nw::g3d::ModelAnimObj.

◆ SetBindFlag()

void nw::g3d::ShaderParamAnimObj::SetBindFlag ( int materialIndex,
BindFlag flag )
inline

◆ GetBindFlag()

BindFlag nw::g3d::ShaderParamAnimObj::GetBindFlag ( int materialIndex)
inline

◆ ClearResult()

virtual void nw::g3d::ShaderParamAnimObj::ClearResult ( )
inlinevirtual

Implements nw::g3d::AnimObj.

◆ Calc()

void nw::g3d::ShaderParamAnimObj::Calc ( )
virtual

Implements nw::g3d::AnimObj.

◆ ApplyTo() [1/2]

void nw::g3d::ShaderParamAnimObj::ApplyTo ( ModelObj * pModelObj) const
virtual

Implements nw::g3d::ModelAnimObj.

◆ GetResource()

const ResShaderParamAnim * nw::g3d::ShaderParamAnimObj::GetResource ( ) const
inline

◆ SetResource()

void nw::g3d::ShaderParamAnimObj::SetResource ( ResShaderParamAnim * pRes)

◆ ResetResource()

void nw::g3d::ShaderParamAnimObj::ResetResource ( )
inline

◆ IsAcceptable() [1/2]

bool nw::g3d::ShaderParamAnimObj::IsAcceptable ( const ResModel * pModel) const
inline

◆ IsAcceptable() [2/2]

bool nw::g3d::ShaderParamAnimObj::IsAcceptable ( const ResShaderParamAnim * pRes) const
inline

◆ GetMatAnim() [1/2]

ResShaderParamMatAnim * nw::g3d::ShaderParamAnimObj::GetMatAnim ( int animIndex)
inlineprotected

◆ GetMatAnim() [2/2]

const ResShaderParamMatAnim * nw::g3d::ShaderParamAnimObj::GetMatAnim ( int animIndex) const
inlineprotected

◆ SubBind()

BindResult nw::g3d::ShaderParamAnimObj::SubBind ( const ResShaderParamMatAnim * pMatAnim,
const ResMaterial * pMaterial )
protected

◆ SubBindFast()

BindResult nw::g3d::ShaderParamAnimObj::SubBindFast ( const ResShaderParamMatAnim * pMatAnim)
protected

◆ ApplyTo() [2/2]

void nw::g3d::ShaderParamAnimObj::ApplyTo ( MaterialObj * pMaterialObj,
int animIndex ) const
protected

◆ NW_G3D_DISALLOW_COPY_AND_ASSIGN()

nw::g3d::ShaderParamAnimObj::NW_G3D_DISALLOW_COPY_AND_ASSIGN ( ShaderParamAnimObj )
private

Member Data Documentation

◆ m_pRes

ResShaderParamAnim* nw::g3d::ShaderParamAnimObj::m_pRes
private

◆ m_pMatAnimArray

ResShaderParamMatAnimData* nw::g3d::ShaderParamAnimObj::m_pMatAnimArray
private

◆ m_MaxMatAnim

s32 nw::g3d::ShaderParamAnimObj::m_MaxMatAnim
private

◆ m_MaxSubBind

s32 nw::g3d::ShaderParamAnimObj::m_MaxSubBind
private

◆ m_pSubBindIndexArray

u16* nw::g3d::ShaderParamAnimObj::m_pSubBindIndexArray
private