📄 cue.h
字号:
#if !defined(AFX_CUE_H__F7B8B61C_6337_483D_A227_A28ECF766D93__INCLUDED_)
#define AFX_CUE_H__F7B8B61C_6337_483D_A227_A28ECF766D93__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Base.h"
#define CUE_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)
class CCue:public CBase
{
private:
struct CUE_CUSTOMVERTEX
{
float x,y,z;
float nx,ny,nz;
float tu,tv;
};
public:
bool SetMaterial(D3DCOLORVALUE rgbaDiffuse,D3DCOLORVALUE rgbaAmbient,
D3DCOLORVALUE rgbaSpecular,D3DCOLORVALUE rgbaEmissive,float rPower);
bool SetSideTexture(const char *szTextureFilePath);
bool SetEndTexture(const char *szTextureFilePath);
DWORD Render();
CCue(LPDIRECT3DDEVICE8 pD3DDevice,float fHeight=1.0f,float fRadius=1.0f,int iSegments=20);
virtual ~CCue();
void TransformCue(D3DXVECTOR3 vecCuePosition,D3DXVECTOR3 vecCueDirection,int iMouseY);
private:
bool UpdateVertices();
bool CreateVertexBuffer();
LPDIRECT3DDEVICE8 m_pD3DDevice;
LPDIRECT3DVERTEXBUFFER8 m_pVertexBuffer;
LPDIRECT3DTEXTURE8 m_pSideTexture;
LPDIRECT3DTEXTURE8 m_pEndTexture;
D3DMATERIAL8 m_matMaterial;
float m_fHeight;
float m_fRadius;
int m_iSegments;
DWORD m_dwNumOfVertices;
DWORD m_dwNumOfSidePolygons;
DWORD m_dwNumOfEndPolygons;
};
#endif // !defined(AFX_CUE_H__F7B8B61C_6337_483D_A227_A28ECF766D93__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -