cone.h
来自「对游戏编程感兴趣的 朋友可以 下载下来看看 对DX讲解的很很详细」· C头文件 代码 · 共 60 行
H
60 行
// Cone.h: interface for the CCone class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CONE_H__8D338063_9E7F_4455_8A3B_394075E29035__INCLUDED_)
#define AFX_CONE_H__8D338063_9E7F_4455_8A3B_394075E29035__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Base.h"
//Define a FVF for our cone
#define CONE_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)
class CCone : public CBase
{
private:
//Define a custom vertex for our cone
struct CONE_CUSTOMVERTEX
{
FLOAT x, y, z; //Position of vertex in 3D space
FLOAT nx, ny, nz; //Lighting Normal
FLOAT tu, tv; //Texture coordinates
};
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();
CCone(LPDIRECT3DDEVICE8 pD3DDevice, float rHeight = 1.0, float rRadius = 1.0, int nSegments = 20);
virtual ~CCone();
private:
bool UpdateVertices();
bool CreateIndexBuffer();
bool CreateVertexBuffer();
LPDIRECT3DDEVICE8 m_pD3DDevice;
LPDIRECT3DVERTEXBUFFER8 m_pVertexBuffer;
LPDIRECT3DINDEXBUFFER8 m_pIndexBuffer;
LPDIRECT3DTEXTURE8 m_pSideTexture;
LPDIRECT3DTEXTURE8 m_pEndTexture;
D3DMATERIAL8 m_matMaterial;
float m_rHeight;
float m_rRadius;
int m_nSegments;
DWORD m_dwNumOfIndices;
DWORD m_dwNumOfVertices;
DWORD m_dwNumOfSidePolygons;
DWORD m_dwNumOfEndPolygons;
};
#endif // !defined(AFX_CONE_H__8D338063_9E7F_4455_8A3B_394075E29035__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?