各位高手,初学D3D。
小弟遇到个问题。我建立个对话框,800 * 600
我想把坐标系原点设置在屏幕左上角,每一个像素是一个单位,就和GDI类似。
我该怎样建立坐标系。世界矩阵、观察矩阵、投影矩阵应该怎样设置、变换?
找了好多书,都没有相应的内容。不是设成 D3DFVF_XYZRHW,好像这样不能进行矩阵变换了。请各位高手指教,谢谢!
小弟遇到个问题。我建立个对话框,800 * 600
我想把坐标系原点设置在屏幕左上角,每一个像素是一个单位,就和GDI类似。
我该怎样建立坐标系。世界矩阵、观察矩阵、投影矩阵应该怎样设置、变换?
找了好多书,都没有相应的内容。不是设成 D3DFVF_XYZRHW,好像这样不能进行矩阵变换了。请各位高手指教,谢谢!
世界矩阵负责将坐标系的原点变换到屏幕左上角
D3DXMatrixTranslation(&g_WorldMatrix,-400,-300,0);观察矩阵:
设置视点:g_Eye(0,0,-1);观察方向LookAt(0,0,1);向上方向Up(0,1,0)
D3DXMatrixLookAtLH(&g_ViewMatrix,&Eye,&LookAt,&Up);投影矩阵:
投影矩阵设置为平行投影:
D3DXMatrixOrthoLH(&g_ProjMatrix,800,600,0,100);
不过我说的这种似乎能实现。
http://gpwiki.org/index.php/HGE:Tutorials:Video
这个 HGE 2D游戏引擎就是这样的,里面的设置也是D3DFVF_XYZ。
因为初学,所以代码看不太明白,算法不太清楚。
有兴趣您可以看看。