| 1234567891011121314151617181920212223242526272829303132333435 |
- // ----------------------------------------------------------------
- // From Game Programming in C++ by Sanjay Madhav
- // Copyright (C) 2017 Sanjay Madhav. All rights reserved.
- //
- // Released under the BSD License
- // See LICENSE in root directory for full details.
- // ----------------------------------------------------------------
- #pragma once
- #include "MeshComponent.h"
- #include "MatrixPalette.h"
- class SkeletalMeshComponent : public MeshComponent
- {
- public:
- SkeletalMeshComponent(class Actor* owner);
- // Draw this mesh component
- void Draw(class Shader* shader) override;
- void Update(float deltaTime) override;
- // Setters
- void SetSkeleton(const class Skeleton* sk) { mSkeleton = sk; }
- // Play an animation. Returns the length of the animation
- float PlayAnimation(const class Animation* anim, float playRate = 1.0f);
- protected:
- void ComputeMatrixPalette();
- MatrixPalette mPalette;
- const class Skeleton* mSkeleton;
- const class Animation* mAnimation;
- float mAnimPlayRate;
- float mAnimTime;
- };
|