📄 meshrender.h
字号:
// MeshRender.h: interface for the CMeshRender class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MESHRENDER_H__5872DD57_A7F6_4186_8A04_81C024535CD6__INCLUDED_)
#define AFX_MESHRENDER_H__5872DD57_A7F6_4186_8A04_81C024535CD6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define SLICENUMBER 384//430//384//256
#define SLICEWIDTH 30.0f
#define SLICEHEIGHT 30.0f
#define TEXRANGE 1.732051f // 3^(1/2) = 1.732
// MPR Vertex buffer FVF
struct MPRVERTEX
{
FLOAT x, y, z; // The transformed position for the vertex
FLOAT tu, tv, tw;
};
// FF vertex pipeline 荤侩窍骨肺 FVF 肺 急攫.
//#define D3DFVF_MPRVERTEX (D3DFVF_XYZ|D3DFVF_TEX1|D3DFVF_TEXCOORDSIZE3(0))
class CMeshRender
{
private:
// MRP甫 困茄 嘉捞歹 急攫
LPDIRECT3DVERTEXDECLARATION9 m_pMPRVertexDecl;
//LPDIRECT3DVERTEXSHADER9 m_pMPRVertexShader;
//LPD3DXCONSTANTTABLE m_pMPRVSConstantTable;
//LPDIRECT3DPIXELSHADER9 m_pMPRPixelShader;
// MESH甫 困茄 糕滚 函荐甸.
LPDIRECT3DVERTEXBUFFER9 m_pMPRVB; // mrp甫 困茄 滚咆胶 滚欺
//LPDIRECT3DVERTEXDECLARATION9 m_pMeshVertexDecl;
//LPDIRECT3DVERTEXSHADER9 m_pMeshVertexShader;
//LPD3DXCONSTANTTABLE m_pMeshVSConstantTable;
//LPDIRECT3DPIXELSHADER9 m_pMeshPixelShader;
DWORD m_dwNumMaterials;
LPD3DXMESH m_pMesh;
D3DMATERIAL9* m_pMeshMaterials;
LPDIRECT3DTEXTURE9* m_pMeshTextures;
public:
HRESULT InitDeviceObjects(LPDIRECT3DDEVICE9 m_pd3dDevice);
void DeleteDeviceObjects();
void RestoreDeviceObjects(LPDIRECT3DDEVICE9 m_pd3dDevice);
CMeshRender();
virtual ~CMeshRender();
void RenderMesh(LPDIRECT3DDEVICE9 m_pd3dDevice, LPD3DXEFFECT m_pEffect);
void RenderMPR(LPDIRECT3DDEVICE9 m_pd3dDevice, LPD3DXEFFECT m_pEffect, LPDIRECT3DVOLUMETEXTURE9 pVolumeTexture);
};
#endif // !defined(AFX_MESHRENDER_H__5872DD57_A7F6_4186_8A04_81C024535CD6__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -