天行健 君子当自强而不息

顶点坐标变换

顶点坐标变换(7)      摘要: 为了让物体运动起来,需要不断改变相应的世界矩阵,而投影矩阵和观察矩阵通常不变,特别是投影矩阵在设置好之后基本上不需要重新设置。

在默认情况下,对于窗口显示模式的应用程序,视口的大小就是当前窗口的客户区的大小,对于全屏模式的应用程序,视口的大小就是屏幕的分辨率。除非特殊需要,绝大多数程序都采用这一默认设置,所以在以后的示例程序中都将略过视口设置,而采用其默认设置。  
 
顶点坐标变换(6)      摘要: 视区(视口)变换是Direct3D顶点变换流水线的最后一步,它通过定义视区信息(屏幕显示区域的实际宽和高等参数),完成顶点裁剪以及将顶点坐标从投影坐标变换为最终显示的以像素为单位的屏幕坐标等操作。裁剪过程保证不渲染完全在观察平截面以外的对象,还确保对于与观察平截面相交的对象,可以如下方式进行渲染:即在视口指定范围以外的部分不绘制像素。  
 
顶点坐标变换(5)      摘要: 将摄影空间中的三维物体投影到二维胶片上,也就是Direct3D中的屏幕,这种三维到二维的变换过程就是投影变换,即从取景空间到摄影空间的变换。设三维物体在观察空间中的坐标为Pview,投影矩阵为Mproj,则顶点在投影空间中的坐标为:

Pproj = Pview * Mproj  
 
顶点坐标变换(4)      摘要: 取景变换(也称观察变换)是在世界空间下架设一个摄像机,把各个顶点坐标从世界空间变换到摄影空间(观察空间)。在摄影空间里,摄像机或者说观察点位于原点,向着z轴正方向。因为Direct3D采用左手坐标系,所以z轴正方向指向屏幕里面。设三维顶点在世界坐标系的坐标为Pworld,在摄影空间内的坐标为Pview,则:

Pview = Pworld * Mview  
 
顶点坐标变换(3)      摘要: 世界变换就是将物体顶点坐标从模型空间转换到世界空间。在模型空间里,顶点位置坐标依据模型的本地坐标系的原点而定,在世界空间里,所有模型的顶点共用一个原点,即世界坐标系原点。事实上,世界变换就是将一个模型从本地空间重新定位到世界空间内。从模型空间到世界空间的转换实际上就是对模型进行平移、旋转、缩放以及它们的任意组合变换。  
 
顶点坐标变换(2)      摘要: 在Direct3D中,顶点坐标变换通常是借助于矩阵实现的,因此下面首先介绍在Direct3D中提供的各种矩阵类型和相关的矩阵运算函数。  
 
顶点坐标变换(1)      摘要: 空间中的物体需要使用三维坐标来描述,而显示器是一个二维的表面,所以在屏幕上渲染一个三维场景时,首先需要将描述空间物体的三维坐标变换为二维坐标(世界坐标到屏幕坐标),这在Direct3D中称为顶点坐标变换。顶点坐标变换通常通过矩阵来完成。可以把顶点坐标变换想象成摄像过程,三维世界的景物通过摄像机的拍摄显示在二维的相片上,所不同的是把相片换成了屏幕。  

posted on 2008-05-02 14:08 lovedday 阅读(2733) 评论(6)  编辑 收藏 引用 所属分类: ■ DirectX 9 Program

评论

# re: 顶点坐标变换 2008-05-03 14:23 wowe1314

大哥 冒失问下,你的技术文章是自己写的还是在别的地方拿过来的?  回复  更多评论   

# re: 顶点坐标变换 2008-05-03 17:29 lovedday

看书笔记,为了自己查阅方便,我已经厌倦了带一堆书在身边,希望这些文章对大家也有帮助。  回复  更多评论   

# re: 顶点坐标变换 2008-05-08 18:05 wowe1314

很好,很感谢 ,我也从学到了很多知识!呵呵   回复  更多评论   

# re: 顶点坐标变换 2008-07-19 17:47 riki

爱你  回复  更多评论   

# re: 顶点坐标变换 2008-08-05 16:27 friend

follow you  回复  更多评论   

# re: 顶点坐标变换 2009-12-27 20:09 俊峰

大哥太感谢了,你是个好人,祝你永远幸福。像你这样的人不多啊。能加我吗。351602095 哈哈  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论