⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 camera.h

📁 x3d_new.rar
💻 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 + -