在CSDN上看到了一個很強大的程序:用GDI實現3D,可以變換視角的查看.x文件。
不過想想看,好像實現起來也并不難。。。
和所有基礎的3D程序一樣,先把視椎變換為單位立方體,

變換矩陣為:

當然,DirectX和OpenGL里都有現成的函數:
//OpenGL
void?gluPerspective(GLdouble?fovy,
????GLdouble?aspect,
????GLdouble?zNear,
????GLdouble?zFar);
//DirectX
D3DXMatrixPerspectiveFovLH(?D3DXMATRIX?*pOut,
????FLOAT?fovY,
????FLOAT?Aspect,
????FLOAT?zn,
????FLOAT?zf
);?
單位立方體中的點正交投影得到的(x,y,z)*視口變換矩陣 得到 (x',y',z')。
(x',y')對應屏幕點,z'為其深度,用于點的競爭。
把每個三角面匹配紋理用GDI基本函數畫出來就可以了。
CSDN的那個程序
