已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2 第3章渲染管道 本章的主题是渲染管道 渲染管道主要用于创建一个二维图像 该二维图像是通过在指定位置设置的虚拟摄像机可以观察到的三维世界中物体的影像 主要目标 学习怎样在Direct3D中描述三维物体 学习怎样设置虚拟摄像机 理解渲染管道 利用几何方法描述三维场景的步骤以及怎样获得用于描述三维场景的二维图像 3 3 1描述的模型 一个场景是由物体或者模型所组成的 物体可以通过三角形网格进行近似的描述 如图3 2所示 网格中的三角形是物体的基本组成部分 一个多边形的两条边的相交点是多边形的顶点 可以通过指定三角形的三个顶点来描述三角形 见图3 3 描述一个物体的时候 只需要指定构成物体的那些三角形 4 3 1 1顶点格式 在Direct3D中 顶点可以拥有颜色属性以及法线向量属性创建一个自定义的顶点格式 首先需要创建一个顶点数据结构 用于保存顶点数据 例如 下面这段代码中定义了两种不同的顶点格式 一种顶点格式保存了位置和颜色信息 另一种顶点格式保存位置 法向量以及纹理坐标信息 参见教材P59 5 3 1 1顶点格式 定义完顶点结构后 需要使用灵活顶点格式 FVF 标志来描述顶点的组成格式 例如对于前面定义的顶点结构可以通过如下的灵活顶点格式进行描述 1 要描述包含位置属性和散射颜色属性的顶点结构时 灵活顶点格式标志为 defineFVF COLOR D3DFVF XYZ D3DFVF DIFFUSE 2 描述包含位置属性 法向量属性以及纹理坐标属性的顶点结构时 灵活顶点格式标志为 defineFVF NORMAL TEX D3DFVF XYZ D3DFVF NORMAL D3DFVF TEX1 6 3 1 2三角形 三角形是构成三维模型的基本元素 通过创建三角形的列表来描述物体的形状和轮廓来构建一个物体 三角形列表中包含了每个需要渲染的三角形的数据 例如 如果需要构建一个矩形 可以将矩形分成两个三角形 并且指定所有三角形的顶点 见图3 4 Vertexrect 6 v0 v1 v2 三角形0v0 v2 v3 三角形1 7 3 1 3索引 通常组成三维物体的三角形都会使用许多相同的顶点 如图3 4中的矩形所示 如在图3 5中 该立方体有8个独立顶点 但是其中有许多顶点将在构建立方体的不同三角形中被重复使用 8 3 1 3索引 索引的工作原理是 在创建一个顶点列表的同时创建一个索引列表 顶点列表中存储了所有独立顶点的数据 索引列表中存储所有三角形的顶点对应独立顶点数据在顶点列表中的索引 在索引列表中通过不同的索引来定义顶点如何组合以组成三角形 WORDindexList 6 0 1 2 三角形00 2 3 三角形1 9 3 2虚拟摄像机 图3 6展示了空间中的摄像机以及摄像机的拍摄范围 摄像机可见的体积范围是一个平截台体 由视角范围 近平面和远平面来决定 投影窗口是个二维的区域 平截台体内的三维几何体都将投影到这个二维窗口上 从而生成一个代表三维世界的二维图像 投影窗口被定义在最小值为 1 1 到最大值 1 1 范围之间 这一点是非常重要的 10 3 3渲染管道 图3 7提供了对渲染管道的简单描述渲染管道中的很多步骤中 都要将几何物体从一个坐标系中变换到另一个坐标系中去 这些变换都通过矩阵来完成 例如 在图3 7中 如果需要设置一个从本地空间向世界空间的变换 可以进行如下设置 Device SetTransform D3DTS WORLD 11 3 3 1本地空间 本地空间 或者称为模型空间 指定义组成物体的三角形列表时所使用的坐标系统 本地空间在简化模型处理工作上是相当有用的 在模型的本地空间中创建模型比在世界空间中创建模型要简单些 比如 本地空间中创建物体时 不需要考虑物体的位置 大小以及与世界空间中其他物体的关系 12 3 3 2世界空间 将本地空间的物体变换到世界空间需要进行的一系列变换 这被称为世界变换 这些变换包括平移操作 旋转操作以及缩放操作 分别用于设置模型在世界坐标系中的位置 方向以及大小 世界变换完成世界空间中所有物体位置 包括大小 方向 以及相互之间关系的设置 世界变换用矩阵来表示 在Direct3D中用IDirect3DDevice9 SetTransform方法来设置世界变换矩阵 调用SetTransform方法时需要设置参数1的变换类型为D3DTS WORLD 13 3 3 2世界空间 对于本地坐标系和世界坐标系概念的理解 可进一步参考图3 8 3 9 14 3 3 3视图空间 在世界空间中 几何物体和摄像机都是相对于世界坐标系来定义的 如图3 10所示 15 3 3 3视图空间 视图空间变换矩阵可以通过以下的D3DX函数来计算 D3DXMATRIX D3DXMatrixLookAtLH D3DXMATRIX pOut 指向视图矩阵的指针CONSTD3DXVECTOR3 pEye 摄像机在世界坐标系中的位置CONSTD3DXVECTOR3 pAt 摄像机的观察点CONSTD3DXVECTOR3 pUp 摄像机的向上向量 16 3 3 4背面裁剪 图3 11展示了视图空间中的一个物体 组成物体的多边形的前表面都有一个箭头 前表面面对着摄像机的多边形叫做前向多边形 前表面背向摄像机的表面叫做背向多边形 图3 12展示了背面裁剪后的同一个物体 但是从摄像机角度来看 渲染出来的还是相同的场景 因为在各种情况下都是看不见后表面的 17 3 3 4背面裁剪 默认情况下 Direct3D定义顶点按照顺时针方式排列 在视图空间中 的三角形为前向多边形 逆时针排列 在视图空间中 的作为背向多边形 如果因为某些原因需要不使用默认的裁剪方法 就可以通过改变D3DRS CULLMODE渲染状态来改变裁剪方法 Device SetRenderState D3DRS CULLMODE Value 这里的参数Value可以为以下值 D3DCULL NONE 不进行背面裁剪 D3DCULL CW 裁剪顶点按照顺时针描述的三角形 D3DCULL CCW 裁剪顶点按照逆时针描述的三角形 18 3 3 5光照 光源是在世界空间中定义的 但是经过视图空间变换后 光源就变换到视图空间中 在视图空间中 光源可以用来照亮场景中的物体 这样场景看起来就更加真实 如何设置固定渲染管道的光照将在后面讲述 19 3 3 6裁剪 需要剔除处于可视范围以外的物体 这种操作称为裁剪 一个三角形相对于表示可视范围的平截台体可能具有3种不同的位置 完全在可视范围内完全在可视范围外部分处于可视范围内 部分处于可视范围外 20 3 3 6裁剪 图3 13展示了这3种情况 21 3 3 7投影 在视图空间中 要使用二维的形式来描述三维场景 将n维变换为n 1维的过程被称为投影 图3 14中展示了将三维空间的一个点透视投影到投影窗口中的情形 22 3 3 7 投影变换定义了可见范围 平截台体 并且负责把可视范围中的几何物体投影到投影窗口中 在Direct3D中使用下面的函数 就可以得到一个使用平截台体进行描述的投影矩阵 参考图3 15 23 3 3 8视口变换 视口变换负责将物体从投影窗口坐标系变换到屏幕上的矩形区域 这个矩形就是视口 图3 16展示了一个视口矩形 24 3 3 8视口变换 在Direct3D中 使用D3DVIEWPORT9结构来描述视口 该结构的定义如下 typedefstruct D3DVIEWPORT9 DWORDX DWORDY DWORDWidth DWORDHeight DWORDMinZ DWORDMaxZ D3DVIEWPORT9 25 3 3 9光栅化 光栅化所做的工作就是计算每个独立像素点的颜色值 见图3 17 26 3 4小结 三维物体使用三角形网格进行描述 三角形网格是一个三角形的列表 这些三角形组成一个与原来物体形状轮廓相似的三维图形 虚拟摄像机的可视范围被设置为一个平截台体 平截台体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药物应用护理与患者教育
- 前交叉韧带损伤的长期护理
- 心灵的守护者:心理护理的使命
- 高血压中医护理的并发症预防
- 骨科护理课程目标设定
- 警院警务硕士试题及答案
- 瓦斯防突工岗位实操掌握考核试卷含答案
- 室内木装修工核心实操强化考核试卷含答案
- 碳五石油树脂装置操作工成果竞赛考核试卷含答案
- 饲料加工中控工创新实践模拟考核试卷含答案
- 钢管合作协议合同范本
- 塑料注射成型多段射胶技术资料
- 2025年公安机关人民警察基本级执法资格考试试题(初级)附答案
- 超星尔雅学习通《通识写作怎样进行学术表达(复旦大学)》章节测试答案
- 邮政寄递事业部课件
- 四川省凉山州2025年中考物理真题附同步解析
- 心理健康课题中期报告范文
- DB32T 5124.3-2025 临床护理技术规范 第3部分:成人危重症患者有创动脉血压监测
- T-FDSCX 002-2024 福鼎白茶标准
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
- 【高考真题(含答案)】安徽省新高考2024年化学试卷(含答案)
评论
0/150
提交评论