公告

联系我:我的126邮箱: billhsu。 Locations of visitors to this page
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

  • 随笔 - 41
  • 文章 - 0
  • 评论 - 82
  • 引用 - 0

常用链接

留言簿(16)

随笔分类

随笔档案

相册

Game Dev

搜索

  •  

最新评论

阅读排行榜

评论排行榜

用GDI实现3D
在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

posted on 2008-12-27 17:18 Bill Hsu 阅读(1547) 评论(1)  编辑 收藏 引用 所属分类: C/C++Game Dev

评论

# re: 用GDI实现3D 2009-06-12 19:49 远古毛利人

有个叫CImg的库,它就是用GDI实现了3D的一部分功能,楼主可以Google "cimg 三维"
  回复  更多评论    

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理