📄 camera.h
字号:
#pragma once
#include <d3dx9math.h>
#include <assert.h>
class CCamera
{
public:
CCamera(void);
~CCamera(void);
// 设备
void SetDevice(LPDIRECT3DDEVICE9 pDevice){
m_pDevice = pDevice;
}
// 方向
void SetDirection(LPD3DXVECTOR3 pvDir);
D3DXVECTOR3 GetDirection(void){
D3DXVECTOR3 vDir = m_vTarget - m_vPosition;
return *D3DXVec3Normalize(&vDir, &vDir);
}
// 位置
void SetPosition(LPD3DXVECTOR3 pvPos);
LPD3DXVECTOR3 GetPosition(void){
return &m_vPosition;
}
// 朝某位置看
void SetTarget(LPD3DXVECTOR3 pvTarget, bool bUpReset = true);
// 前进(后退)
void GotoDest(float fDistance);
// 侧移
void Move(float fLeftRight, float fUpDown);
// 旋转
void Rotate(float fYaw = 0.0f, float fPitch = 0.0f, float fRoll = 0.0f, bool bForceUp = true);
private:
// 更新
void ApplyChange(void);
protected:
D3DXVECTOR3 m_vTarget;
D3DXVECTOR3 m_vPosition;
D3DXVECTOR3 m_vUp;
LPDIRECT3DDEVICE9 m_pDevice;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -