代码如下:说明代码中用到的.x模型下载地址:http://download.csdn.net/source/3416898
/********************************
* Author: rabbit729
* E-mail: wlq_729@163.com
* Date: 2011-07-04
* Description: 四视图
********************************/
#include <d3dx9.h>
//-----------------------------------------------------------------------------
// Desc: 全局变量
//-----------------------------------------------------------------------------
#define WIDTH 800
#define HEIGHT 600
LPDIRECT3D9 g_pD3D = NULL; //Direct3D对象
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; //Direct3D设备对象
LPD3DXFONT g_pFont = NULL; //Direct3D字体对象
LPD3DXLINE g_pLine = NULL; //Direct3D画线对象
LPD3DXMESH g_pMesh = NULL; //网格模型对象
D3DMATERIAL9* g_pMeshMaterials = NULL; //网格模型材质
LPDIRECT3DTEXTURE9* g_pMeshTextures = NULL; //网格模型纹理
DWORD g_dwNumMaterials = 0L; //网格模型材质数量
D3DXVECTOR2* g_vHorArr = NULL; //水平分割线
D3DXVECTOR2* g_vVerArr = NULL; //垂直分割线
D3DVIEWPORT9 g_MainViewport; // 主视图
D3DVIEWPORT9 g_ProViewport; // 俯视图视口
D3DVIEWPORT9 g_FrontViewport; // 前视图视口
D3DVIEWPORT9 g_TopViewport; // 顶视图视口
D3DVIEWPORT9 g_LeftViewport; // 左视图视口
//-----------------------------------------------------------------------------
// Desc: 设置世界矩阵
//-----------------------------------------------------------------------------
VOID SetWorldMatrix()
{
//创建并设置世界矩阵
D3DXMATRIXA16 matWorld;
D3DXMatrixIdentity(&matWorld);
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
}
//-----------------------------------------------------------------------------
// Desc: 设置俯视图矩阵
//-----------------------------------------------------------------------------
VOID SeProViewMatrix()
{
//创建并设置观察矩阵
D3DXVECTOR3 vEyePt( 0.0f, 20.0f,-20.0f );
D3DXVECTOR3 vLookatPt( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
D3DXMATRIXA16 matView;
D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
}
//-----------------------------------------------------------------------------
// Desc: 设置前视图矩阵
//-----------------------------------------------------------------------------
VOID SetFrontViewMatrix()
{
//创建并设置观察矩阵
D3DXVECTOR3 vEyePt( 0.0f, 0.0f,-20.0f );
D3DXVECTOR3 vLookatPt( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
D3DXMATRIXA16 matView;
D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
}
//-----------------------------------------------------------------------------
// Desc: 设置顶视图矩阵
//-----------------------------------------------------------------------------
VOID SetTopViewMatri