light.h

来自「x3d_new.rar」· C头文件 代码 · 共 48 行

H
48
字号
#pragma once

#include <d3d9.h>
#include <d3dtypes.h>
#include <d3dx9math.h>

class CLight
{
public:
    CLight(void);
    ~CLight(void);

    operator D3DLIGHT9 const*() const{
        return &m_Light;
    }

public:

    // 位置
    LPD3DVECTOR GetPosition(void){
        return &m_Light.Position;
    }
    void SetPosition(LPD3DVECTOR pvPos){
        m_Light.Position = *pvPos;
    }
    void SetPosition(float x, float y, float z){
        m_Light.Position.x = x;
        m_Light.Position.y = y;
        m_Light.Position.z = z;
    }

    // 方向
    D3DXVECTOR3 GetDirection(void){
        return D3DXVECTOR3(m_Light.Direction);
    }
    void SetDirection(LPD3DXVECTOR3 pvDir){
        D3DXVec3Normalize(pvDir, pvDir);
        m_Light.Direction = *pvDir;
    }
    void SetDirection(float x, float y, float z){
        D3DXVECTOR3 vDir(x, y, z);
        SetDirection(&vDir);
    }

private:
    D3DLIGHT9 m_Light;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?