《计算机图形学:基于3D图形开发技术》详细阐述了与计算机游戏设计相关的基本解决方案及相应的数据结构和算法,主要包括游戏模型、顶点处理机制、光栅化操作、片元处理和输出合并、光照和着色、参数曲线和表面、着色器模型、图像纹理、凹凸贴图、高级纹理操作、角色动画以及物理模拟等内容。此外,《计算机图形学:基于3D图形开发技术》还提供了相应代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。
目录: 目 录 第1章 游戏模型............................................................................................................1 1.1 游戏制作流程...................................................................................................1 1.2 多边形网格......................................................................................................4 1.2.1 创建多边形网格*....................................................................................6 1.2.2 多边形网格的表达方式......................................................................................9 1.2.3 表面法线............................................................................................................13 1.3 模型导出和导入...........................................................................................................15 1.4 坐标系统....... ................................................................................................................17 本章练习...............................................................................................................................19 第2章 顶点处理机制...................................................................................................20 2.1 世界转换.......................................................................................................................21 2.1.1 仿射转换以及齐次坐标....................................................................................21 2.1.2 世界矩阵...........................................................................................................24 2.1.3 欧拉转换................................................................................. ..........................28 2.1.4 表面法线的转换................................................................................................29 2.2 视见转换.......................................................................................................................31 2.2.1 相机空间...........................................................................................................31 2.2.2 空间转换和视见矩阵........................................................................................32 2.3 逐顶点光照.................................................................................................................37 2.4 投影转换......................................................................................................................38 2.4.1 视见体................................................................................................................38 2.4.2 投影矩阵...........................................................................................................40 2.4.3 投影矩阵的推导过程*......................................................................................44 本章练习.......................................................................................................... ......................47 ·VI· 计算机图形学——基于3D图形开发技术 第3章 光栅化操作.......................................................................................................49 3.1 剪裁操作......................................................................................................................49 3.2 透视除法......................................................................................................................50 3.3 背面剔除操作...............................................................................................................51 3.4 再访坐标系统*.............................................................................................................55 3.4.1 3ds Max至OpenGL——翻转坐标轴................................................................55 3.4.2 OpenGL至Direct3D——反射..........................................................................57 3.4.3 OpenGL至Direct3D——顶点重排列...............................................................61 3.5 视口转换......................................................................................................................62 3.6 扫描转换......................................................................................................................65 3.7 应用:对象拾取操作...............................................................................................70 3.7.1 计算世界空间中的光线....................................................................................70 3.7.2 光线-对象相交测试...........................................................................................76 本章练习...............................................................................................................................82 第4章 片元处理和输出合并.........................................................................................83 4.1 纹理操作......................................................................................................................83 4.1.1 纹理坐标............................................................................................................84 4.1.2 表面参数化操作................................................................................................86 4.1.3 纹理坐标与纹素地址........................................................................................87 4.2 输出合并......................................................................................................................89 4.2.1 z缓冲区机制.......................................................................................................89 4.2.2 Alpha混合...........................................................................................................91 4.3 z剔除操作......................................................................................................................93 4.3.1 单元(tile)剔除...............................................................................................93 4.3.2 预写Z值..............................................................................................................96 本章练习...............................................................................................................................96 第5章 光照和着色.......................................................................................................98 5.1 Phong光照模型.............................................................................................................98 5.1.1 漫反射................................................................................................................99 5.1.2 镜面反射..........................................................................................................101 目 录·VII· 5.1.3 环境反射..........................................................................................................103 5.1.4 发射光..............................................................................................................104 5.2 着色和着色语言........................................................................................................104 5.2.1 顶点和片元着色器........................... ...............................................................104 5.2.2 高级着色语言*.................................................................................................105 5.3 管线中的光照机制....................................................................................................107 5.3.1 HLSL中的逐顶点光照机制*...........................................................................107 5.3.2 逐顶点光照与逐片元光照..............................................................................109 5.3.3 HLSL中的逐片元光照*...................................................................................111 5.4 全局光照.....................................................................................................................113 5.4.1 光线跟踪..........................................................................................................113 5.4.2 辐射度..............................................................................................................117 本章练习..............................................................................................................................119 第6章 参数曲线和表面....................................................................................121 6.1 参数曲线.....................................................................................................................121 6.1.1 Bezier曲线......................................................................................................121 6.1.2 Hermite曲线和Catmull-Rom样条...................................................................126 6.2 应用:相机路径.........................................................................................................127 6.3 Bezier表面..................................................................................................................130 6.3.1 双线性面片......................................................................................................130 6.3.2 双二次Bezier面片............................................................................... .............134 6.3.3 双三次Bezier面片............................................................................................138 6.3.4 Bezier三角形...............................................................................................140 本章练习..............................................................................................................................144 第7章 着色器模型...........................................................................................146 7.1 着色器模型4和几何体着色器...................................................................................146 7.2 应用:动态粒子系统.................................................................................................147 7.2.1 粒子的物理模拟..............................................................................................148 7.2.2 焰火模拟..........................................................................................................150 7.2.3 渲染焰火..........................................................................................................153 ·VIII· 计算机图形学——基于3D图形开发技术 7.3 着色器模型5和拼接操作...........................................................................................155 7.4 应用:PN三角形........................................................................................................156 7.4.1 计算控制点......................................................................................................157 7.4.2 计算控制法线..................................................................................................160 7.4.3 PN三角形拼接操作.........................................................................................163 本章练习..............................................................................................................................165 第8章 图像纹理........................................................................................................166 8.1 纹理寻址模式............................................................................................................166 8.2 纹理过滤机制.............................................................................................................168 8.2.1 放大操作..........................................................................................................169 8.2.2 缩小操作..........................................................................................................170 8.3 纹理链........................................................................................................................171 8.3.1 纹理链的构建过程..........................................................................................172 8.3.2 纹理链过滤机制..............................................................................................173 8.3.3 纹理链过滤的选取方案..................................................................................175 8.4 各向异性过滤机制.....................................................................................................179 本章练习............................................................................................................................184 第9章 凹凸贴图........................................................................................................186 9.1 高度场.........................................................................................................................187 9.2 法线贴图原理.............................................................................................................188 9.2.1 法线贴图..........................................................................................................188 9.2.2 法线贴图算法..................................................................................................190 9.3 切空间法线贴图.........................................................................................................194 9.3.1 切空间法线贴图算法.............................................................................. ........194 9.3.2 切空间计算......................................................................................................198 9.4 法线贴图应用.............................................................................................................200 9.5 视差贴图....................................................................................................................203 9.6 偏置贴图....................................................................................................................206 本章练习............................................................................................................................210 第10章 高级纹理操作...............................................................................................211 10.1 环境贴图...................................................................................................................211 目 录·IX· 10.1.1 立方体贴图....................................................................................................211 10.1.2 立方体贴图访问机制*...................................................................................214 10.1.3 动态立方体贴图............................................................................................216 10.2 光照贴图...................................................................................................................217 10.2.1 漫反射光照贴图............................................................................................217 10.2.2 辐射度法线贴图*...........................................................................................218 10.3 阴影贴图...................................................................................................................222 10.3.1 阴影贴图算法................................................................................................224 10.3.2 基于阴影贴图的着色器代码........................................................................228 10.3.3 阴影贴图过滤机制........................................................................................231 10.4 环境遮挡...................................................................................................................234 10.5 延迟着色...................................................................................................................238 本章练习..............................................................................................................................240 第11章 角色动画.......................................................................................................241 11.1 关键帧动画...............................................................................................................241 11.2 旋转...........................................................................................................................244 11.2.1 欧拉角插值....................................................................................................244 11.2.2 四元数表达方式............................................................................................245 11.2.3 基于四元数的旋转........................................................................................246 11.2.4 四元数插值....................................................................................................250 11.3 层次结构建模以及空间变换...................................................................................252 11.3.1 层次结构模型................................................................................................252 11.3.2 骨骼间的空间变换........................................................................................256 11.3.3 世界空间至骨骼空间的转换........................................................................258 11.4 前向运动学...............................................................................................................260 11.5 蒙皮和关键帧动画...................................................................................................263 11.5.1 蒙皮................................................................................................................263 11.5.2 关键帧动画中的蒙皮....................................................................................265 11.6 逆向运动学...............................................................................................................268 11.6.1 解析法............................................................................................................269 11.6.2 循环坐标下降法............................................................................................270 ·X· 计算机图形学——基于3D图形开发技术 本章练习..............................................................................................................................272 第12章 物理模拟......................................................................................................274 12.1 惩罚方案...................................................................................................................274 12.2 冲量方案...................................................................................................................276 12.2.1 冲量................................................................................................................277 12.2.2 基于冲量的碰撞求解方案............................................................................278 12.3 碰撞检测...................................................................................................................282 12.3.1 色围体及其层次结构....................................................................................283 12.3.2 三角形-三角形相交测试...............................................................................286 本章练习..............................................................................................................................288 参考文献........................................................................................................................289
|