DragonNest/Client/EngineTest/CameraData.h

61 lines
1,003 B
C
Raw Permalink Normal View History

#pragma once
#define CAMERA_FILE_STRING "Eternity Engine Camera File 0.1"
#define CAMERA_FILE_VERSION 10
#define CAMERA_HEADER_RESERVED ( 1024 - sizeof( SCameraFileHeader ) )
enum ExportCameraType
{
CT_FREE_CAMERA = 0,
CT_TARGET_CAMERA = 1,
};
struct SCameraFileHeader
{
char szHeaderString[ 256 ];
int nVersion;
int nFrame;
int nType;
int nFOVKeyCount;
int nPositionKeyCount;
int nRotationKeyCount;
float fDefaultFOV;
EtVector3 vDefaultPosition;
EtQuat qDefaultRotation;
char szCameraName[ 32 ];
};
struct SCameraFOVKey
{
int nTime;
float fFOV;
};
struct SCameraPostionKey
{
int nTime;
EtVector3 vPosition;
};
struct SCameraRotationKey
{
int nTime;
EtQuat qRotation;
};
class CCameraData
{
public:
CCameraData(void);
virtual ~CCameraData(void);
public:
SCameraFileHeader m_Header;
std::vector< SCameraFOVKey > m_vecFOV;
std::vector< SCameraPostionKey > m_vecPosition;
std::vector< SCameraRotationKey > m_vecRotation;
public:
void LoadResource( CStream *pStream );
};