用GDI实现3D

来源:互联网 发布:天体战士 知乎 编辑:程序博客网 时间:2024/05/02 02:18
在CSDN上看到了一个很强大的程序:用GDI实现3D,可以变换视角的查看.x文件。

不过想想看,好像实现起来也并不难。。。
和所有基础的3D程序一样,先把视椎变换为单位立方体,
3_thumb.jpg
变换矩阵为:
5.jpg

当然,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的那个程序
rtwtsdgdg.JPG
原创粉丝点击