首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

投影矩阵矩阵为何没起作用解决方案

2012-02-21 
投影矩阵矩阵为何没起作用//-----------------------------------------// Desc: 设置观察矩阵和投影矩阵/

投影矩阵矩阵为何没起作用
//-----------------------------------------
// Desc: 设置观察矩阵和投影矩阵
//-----------------------------------------
VOID SetupViewandProjMatrices()
{
//建立并设置观察矩阵
D3DXVECTOR3 vEyePt( 0.0f, 0.0f,-5.0f );
D3DXVECTOR3 vLookatPt( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
D3DXMATRIX matView;
D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );

//建立并设置投影矩阵
D3DXMATRIX matProj;
D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/2, 1.0f, 1.0f, 1000.0f );
g_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
}
上面这个函数设置了摄像机的位置和投影矩阵,我想在Z=0平面画个三角形,为什么用顶点
VERTEX vertices[] =
{
{ -2.0f, -2.0f, 0.0f, 1.0f, 0xffff0000, },
{ 2.0f, -2.0f, 0.0f, 1.0f, 0xff00ff00, }, 
{ 0.0f, 2.0f, 0.0f, 1.0f, 0xff0000ff, },
};
画的都看不出来,用
vertices[] =
  {
{ 50.0f, 250.0f, 0.5f, 1.0f, 0xffff0000, },
  { 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, }, 
  { 250.0f, 250.0f, 0.5f, 1.0f, 0xffff0000, },
可以画出三角形,貌似投影矩阵没有起作用,还是用默认的正交投影,我在程序初始化的时候调用了SetupViewandProjMatrices();为什么没起作用?

[解决办法]
去掉顶点格式RHW,顶点就用XYZ表示

热点排行