回 帖 发 新 帖 刷新版面

主题:请问DirectX的世界变换、观察变换、投影变换的区别

概念上有点模糊,不能实际运用,最好以一个例子给与帮助理解,世界变换、观察变换、投影变换的作用分别是什么?
D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 1.0f, 1.0f, 1000.0f);
  g_pD3DDevice->SetTransform(D3DTS_PROJECTION, &matProj);

    D3DXMatrixLookAtLH(&matView, &D3DXVECTOR3(0.0f,0.0f,-500.0f), &D3DXVECTOR3(0.0f,0.0f,0.0f), &D3DXVECTOR3(0.0f, 1.0f, 0.0f));
  g_pD3DDevice->SetTransform(D3DTS_VIEW, &matView);

g_pD3DDevice->SetTransform(D3DTS_WORLD, &matWorld);

这之间的作用分别是什么

回复列表 (共2个回复)

沙发

三种坐标系的相互转化
可以看看《3D游戏程序设计入门》,有电子版的

板凳

世界矩阵是把模型从局部坐标系变换到世界坐标系下的。

视图矩阵是把世界坐标系下的东西变换到摄相机的视图坐标系下的。

投影矩阵,是把视图坐标系下的东西剪截并计算出一个W值,分为透视投影和正交投影。

你可以想象你是三维空间中的一个点,然后依次经过这些变换,最终得到一个带w值的点

我来回复

您尚未登录,请登录后再回复。点此登录或注册