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

📄 mesh.h

📁 使用shader语言在vs阶段编写光照效果的演示程序及全部源代码
💻 H
字号:
/****
Direct3D 基础演示程序,
新东方d3d游戏开发课程

简单几何体的绘制 , BOX的绘制

潘李亮 2006-1-14

****/

#ifndef __D3DMesh_H__
#define __D3DMesh_H__
#include "ModelData.h"
class CD3DMesh
{
	float                        m_iCurFrame ; 
	int                          m_nFrame;
	D3DXMATRIX                   m_WorldMatrix;
	D3DXVECTOR3                  m_Position;
	IDirect3DVertexDeclaration9* m_pVertexDecl;
	float                        m_AngleX;
	float                        m_AngleY;
	float                        m_AngleZ;
public:
	CD3DMesh()
	{
		m_Stride = 0;
		m_pVertexBuffers = NULL;
		m_pTexture = NULL;
		m_nFace = 0;
		m_iCurFrame = 0.0f;;
		m_nFrame = 0;
		D3DXMatrixIdentity(&m_WorldMatrix);
		m_Position;
		m_Position.x = 0.0f;
		m_Position.y = 0.0f;
		m_Position.z = 0.0f;

		m_AngleX = 0.0f;
		m_AngleY = 0.0f;
		m_AngleZ = 0.0f;

	};
	D3DXVECTOR3             m_VertexMin;
	D3DXVECTOR3             m_VertexMax;
	D3DMATERIAL9            m_Material;
	int                     m_Stride;
	int                     m_nFace;
	LPDIRECT3DVERTEXBUFFER9 *m_pVertexBuffers;
	IDirect3DTexture9*      m_pTexture;
	bool                    load(const char* filename);
	void                    rotate(float ax , float ay , float az)
	{
		D3DXMATRIX matRotX,matRotY,matRotZ;
		D3DXMatrixRotationX(&matRotX,ax);
		D3DXMatrixRotationY(&matRotY,ay);
		D3DXMatrixRotationZ(&matRotZ,az);
		D3DXMATRIX tempWldMat = m_WorldMatrix * matRotX * matRotY * matRotZ ;
		m_WorldMatrix = tempWldMat;
	}
	bool                    calcBoundBox(sVertex_t * pVertex , int nVertex);
	bool                    release();
	void                    loadTexture(const char* pTextureName);
	void                    render(long passedTime);
	void                    setPosition(D3DXVECTOR3& pos)
	{
		D3DXMATRIX matTrans,matRotX,matRotY,matRotZ;
		D3DXMatrixTranslation(&matTrans,pos.x,pos.y,pos.z);
        D3DXMATRIX tempWldMat = m_WorldMatrix * matTrans;
		m_WorldMatrix = tempWldMat;
	}

	void                    getTransform(D3DXMATRIX* mat);
	void                    setState();
	void                    endSetState();
};

#endif

⌨️ 快捷键说明

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