Danbias/Code/OysterGraphics/Model/ModelInfo.h

45 lines
745 B
C
Raw Normal View History

#pragma once
#ifndef MODELINFO_h
#define MODELINFO_h
#include "..\Core\Core.h"
namespace Oyster
{
2013-11-20 10:22:01 +01:00
namespace Graphics
{
namespace Model
{
2014-01-22 16:31:33 +01:00
struct Bone
{
2014-02-04 14:59:51 +01:00
Math::Matrix Relative;
Math::Matrix Absolute;
2014-01-22 16:31:33 +01:00
int Parent;
};
struct Frame
{
Bone bone;
double time;
};
struct Animation
{
int Bones;
int* Frames; //! Bone as index
Frame** Keyframes; //! @brief [Bone][Frame]
2014-01-31 16:29:50 +01:00
double duration;
2014-01-22 16:31:33 +01:00
};
2013-11-20 10:22:01 +01:00
struct ModelInfo
{
std::vector<ID3D11ShaderResourceView*> Material;
2014-01-27 14:24:13 +01:00
Core::Buffer *Vertices,*Indecies;
bool Indexed, Animated;
2014-01-22 16:31:33 +01:00
int VertexCount, IndexCount, BoneCount, AnimationCount;
Bone* bones;
std::map<std::wstring,Animation> Animations;
2013-11-20 10:22:01 +01:00
};
}
}
};
#endif