59 for (
int bone = 0; bone <
mNumBones; ++bone)
65 #if defined (GTE_USE_MAT_VEC) 70 offset *
mBones[bone].lock()->worldTransform;
72 position += weight * worldOffset;
77 (*target)[0] = position[0];
78 (*target)[1] = position[1];
79 (*target)[2] = position[2];
102 for (
int i = 0; i < numAttributes; ++i)
106 unsigned int unit,
offset;
107 if (vformat.
GetAttribute(i, semantic, type, unit, offset))
ControlledObject * mObject
unsigned int GetNumElements() const
virtual ~SkinController()
virtual bool Update(double applicationTime)
std::shared_ptr< VertexBuffer > const & GetVertexBuffer() const
GLuint GLuint GLfloat weight
std::vector< std::weak_ptr< Node > > mBones
virtual bool Update(double applicationTime)
bool worldTransformIsCurrent
VertexFormat const & GetFormat() const
Array2< Vector4< float > > mOffsets
char const * GetData() const
std::function< void(std::shared_ptr< VertexBuffer > const &)> Updater
bool UpdateModelNormals()
SkinController(int numVertices, int numBones, Updater const &postUpdate)
GLint GLint GLsizei GLint GLenum GLenum type