- 博客(6)
- 收藏
- 关注
原创 3D游戏基础 Direct3D(三) 固定管线之变换
在前面的章节已经说到过,在固定管线中,第一步动作便是对图元做坐标变换。所谓图元(primtive),就是一堆顶点,这些顶点构成了特定的几何形状,这就叫做图元。所以,我们做变换的对象说到底,就是顶点。在固定管线中,变换分成2个步骤: 局部坐标系到世界坐标系 和 世界坐标系到观察坐标系。局部坐标系:就是建模坐标系,它是在建模时由3DMAX之类的工具定义的;世界坐标系:用来统一场景中各个o
2007-08-23 11:58:00 2634 4
原创 3D游戏基础 Direct3D(二) D3D初始化
注:后续D3D的讲解,均基于C++进行。在解释D3D初始化之前,先介绍一下几个先导概念。1、D3D的SDK向开发人员提供两种设备类型:参考设备(Reference Device or REF) 和 硬件抽象层设备(Hardware Abstract Layer or HAL)。这两种设备的区别在于: REF是采用软件模拟的方式来进行三维运算,全部计算都在CPU来完成,它确保所使用的功能完全正确,
2007-08-17 17:22:00 3672 1
原创 3D游戏基础 Direct3D(一) D3D基本概念及渲染流水线简介
终于,在前3篇文章里面聊完了基本的空间几何概念,现在可以说到实际的东西了。一直以来,都希望用最浅显易懂的语言,把我对3D的一些了解记录下来,作为一个系列的科普文章,供大家消遣时看看。大约十年以前,我拥有了第一台电脑,不久见识到了3D游戏的魅力。听说了OpenGL,再后来又听说了微软的DirectX 3D(简称 D3D)。早期的游戏对比来看,基于OpenGL的游戏画面效果似乎要比D3D略好一些,不过
2007-08-15 15:16:00 5399
原创 3D游戏基础 空间几何(三) 变换、平面、射线
因为内容都不多,所以把变换 与平面、射线 合在一起说。变换包含:平移、旋转和缩放。 我们可以对坐标进行所有的三种变换操作;而对于向量,则只能做 旋转 和 缩放,因为向量不包含位置信息,所以对他做平移变化是无意义的。每一种变换,都有对应的变换矩阵,用向量或坐标乘以变换矩阵,即可对它们完成变换。变换矩阵之间,也可以做乘法叠加,叠加的几何意义是把变换按叠加的先后顺序复合到一个矩阵中去,注意矩阵叠加不满
2007-08-13 14:44:00 2399
原创 3D游戏基础 空间几何(二) 向量运算
与向量相关的运算包括:向量相等,向量长度(模),向量规范化,向量加减,向量缩放,点乘,叉乘。向量相等:需同时满足两个条件, 维数相同 和 对应分量相同。如: Ux = Vx, Uy=Vy, Uz=Vz 则, (Ux, Uy, Uz) == (Vx, Vy, Vz) 向量长度(用绝对值符号括上):得到的结果是响亮的长度,是一个标量|U| = SQR(Ux*Ux + Uy*Uy
2007-08-07 10:19:00 3558 1
原创 3D游戏基础 空间几何(一) 向量与顶点
初学3D时,一个概念让我困扰许久:什么是顶点,什么是向量??在程序中,顶点和向量都用同一个类型来表示,甚至跟别人讨论是,这二者也会混用,所以初学时就搞得云里雾里的。事实上,顶点和向量是不同的两个概念。顶点:表示空间中的位置信息,即 x, y, z 坐标,常用一个三元组 (x, y, z)表示,在变换是可能被扩展为齐次坐标(x,y,z,w), 这时w只是为了方便做矩阵运算而扩展的,通常w
2007-08-01 11:48:00 2907 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人