img
share 分享

VIP会员

作者:CSDN

出版社:CSDN《程序员》

ISBN:1111111111117

VIP会员免费 (仅需0.8元/天) ¥ 40000.0

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

3D游戏.卷1.实时渲染与软件技术.pdf 评分:

中文名: 3D游戏:卷1.实时渲染与软件技术 原名: 3D Games Real-Time Rendering and Software Technology, Volume 1 作者: (英)Alan Watt Fabio Policarpo译者: 沈一帆 陈文斌 朱怡波 资源格式: PDF 版本: 扫描版 出版社: China Machine Press书号: 7111156528发行时间: 2005年2月 地区: 大陆 语言: 简体中文 简介: 内容介绍:   本书综合介绍当前流行的三维游戏开发技术,主要内容包括:建模及基础数学,经典的三维图形学,实时渲染,对象的控制,二维技术,软件技术等。    书中的所有内容都是围绕一个功能强大的游戏开发引擎,即Fly3D来写的。其目的是使你可以编写源代码来实现自己的想法,或是通过编写或修改插件来对现有的实例进行试验,甚至可以开发属于自己的游戏。随书光盘给出了完整的Fly 3D SDK及一些演示片段和图片。    本书适合作为高等院校相关专业的本科生或研究生的教学参考书,同时可供相关技术人员及游戏开发人员阅读。 作者介绍:   Alan Watt英国谢菲尔德大学计算机科学系讲师,是该校计算机图形学研究室主任,曾经编写过多本优秀著作,包括《3D计算机图形学》(即将由机械工业出版社出版)和《The Computer Image》。   Fabio Policarpo里约热内卢的软件开发者,他是Paralelo计算机公司的创始人,目前正致力于独立三维动作多玩家游戏的研究。 目录: 出版者的话 专家指导委员会 译者序 前言 第一部分 基础知识 第1章 三维计算机图形学的数学基础 1.1 处理三维结构 1.1.1 计算机图形学中的三维几何学 1.1.2 改变坐标系的变换 1.2 向量与计算机图形学 1.2.1 向量加法 1.2.2 向量的长度 1.2.3 法向量与叉积 1.2.4 法向量与点积 1.2.5 与法向量相关的向量 1.3 光线与计算机图形学 1.3.1 光线几何学——交点 1.3.2 光线与球体的交点 1.3.3 光线与凸多边形的交点 1.3.4 光线与长方体的交点 1.4 多边形性质的双线性插值 1.5 使用simd指令集的基础数学引擎 第2章 建模与表示1--对比回顾与多边形网格模型 2.1 简介 2.2 三维物体的多边形表示 2.2.1 创建多边形对象 2.2.2 多边形对象的手工建模 2.2.3 多边形对象的自动生成 2.2.4 多边形对象的交互式/数学生成 2.3 高级方法--构造性实体几何法 2.4 应用建模器或编辑器的高级方法 第3章 建模与表示2--多边形网格的经济性 3.1 多边形模型压缩 3.2 几何形状压缩(每个顶点的信息) 3.3 编码连接 3.4 三角链 3.5 局部与全局算法 3.6 顶点缓冲的应用 3.7 细节层次处理 第4章 建模与表示3--地形特殊化 4.1 简介 4.2 简单的高度场地形 4.3 地形的建模过程--分形 4. 4 地形lod:三角二叉树 4.5 用光线投射的方法渲染地形 第5章 建模与表示4--贝济埃、b样条和细分曲面 5.1 简介 5.2 贝济埃曲线 5.2.1 分段贝济埃曲线的连接 5.2.2 贝济埃曲线性质小结 5.3 B样条曲线 5.3.1 均匀B样条 5.3.2 非均匀B样条 5.3.3 B样条曲线特征小结 5.4 有理曲线 5.4.1 有理贝济埃曲线 5.4.2 NURBS 5.5 从曲线到曲面 5.5.1 连续性与贝济埃面片 5.5.2 贝济埃面片物体——犹他茶壶 5.5.3 B样条曲面片 5.6 建模或创建面片曲面 5.6.1 用面片的横截面建模 5.6.2 编辑面片网络——改变存在的网络 5.6.3 用曲面拟合创建面片物体 5.7 渲染参数曲面 5.8 游戏中的实用贝济埃技术 5.8.1 双二次网络格亚采样 5.8.2 曲面、物体和细分 5.9 细分曲面 5.9.1 Catmull-Clark细分 5.9.2 蝴蝶细分 5.9.3 改进的蝴蝶算法 5.10 缩放性--多边形网格、面片网格和细分曲面 5.10.1 LOD多边形网格 5.10.2 面片网格 5.10.3 细分表面 第二部分 传统3d图形处理方法 第6章 传统多边形网格渲染技术 6.1 图形流水线中的坐标空间和几何操作 6.1.1 局部或模型坐标系 6.1.2 世界坐标系 6.1.3 照相机(或眼睛、视见)坐标系 6.2 视见空间里的操作 6.2.1 筛选或背面剔除 6.2.2 视见约束体 6.2.3 三维屏幕空间 6.2.4 视见约束体的深度 6. 3 图形流水线中的算法操作 6.3.1 基本视见约束体筛选和裁剪 6.3.2 像素的明暗处理 6.3.3 明暗插值技术 6.3.4 隐面剔除 6. 4 渲染示例 6.4.1 图6-36(见彩页) 6.4.2 图6-37(见彩页) 6.4.3 图6-38(见彩页) 6.4.4 图6-40(见彩页) 6.4.5 图6-41(见彩页) 第7章 传统映射技术 7.1 简介 7.2 二维纹理贴图到多边形网格物体 7.2.1 使用双线性值的逆向映射 7.2.2 使用中间表面的逆向映射方法 7.2.3 使用纹理映射 7.3 二维纹理空间到双三次参数曲面片物体 7.4 凹凸纹理映射 7.4.1 凸凹纹理映射的多通道技术 7.4.2 针对凸凹纹理映射的预计算技术 7.5 环境映射技术 7.5.1 立方体映射 7.5.2 球面映射 7.5.3 环境映射:要点比较 7.6 三维纹理域技术 7.5.1 三维噪声函数 7.5.2 模拟湍流 7.5.3 三维纹理和动画 7.5.4 三维光照贴图 7.7 对比试验 7.7.1 图7-23(见彩页) 7.7.2 图7-24(见彩页) 7.7.3 图7-25(见彩页) 第8章 反走样理论和实践 8.1 简介 8.2 走样和采样 8.3 锯齿边 8.4 计算机图形采样和实际采样的比较 8.5 采样和重构 8.6 简单的比较 8.7 前滤波方法 8.8 超采样或后滤波 8.9 纹理映射中的反走样 8.10 图像的傅里叶变换 第三部分 实时渲染 第9章 复杂场景的可视性处理 9.1 简介 9.2 为什么要用树结构 9.2.1 空间细分层次 9.2.2 八叉树 9.3 BSP树 9.4 包围体层次结构 9.5 BSP树和多边形物体 9.5.1 BSP树和隐面消除 9.5.2 怎样为多边形网格常见创建BSP树 9.5.3 背面筛选 9.5.4 对照视见约束体进行筛选 9.5.5 影响范围 9.5.6 实用BSP树 9.5.7 地形和BSP技术 9.6 用于构造内型环境的特殊手段 9.7 入口和镜子 9.8 高级视见约束体筛选 9.8.1 开发BV几何性质 9.8.2 在视见约束体筛选中开发一致性 9.9 精确的可视性 9.9.1 精确的可视性和预计算 9.9.2 可视性过程的排序策略 9.9.3 视见约束体内的可视性:闭塞筛选 9.10 动态物体及其可视性 第10章 游戏中的光照效果 10.1 光照贴图 10.1.1 光照贴图选取 10.1.2 多边形/光照贴图的一致性 10.1.3 光照贴图的动态光照效果 10.2 使用光照贴图的动态光照效果 10.2.1 运动物体(常用) 10.2.2 移动的(以观察者为中心的)聚光灯 10.2.3 运动物体和环境光 10.2.4 运动物体和Gouraud明暗模型 10.3 动态光源 10.4 可调/可分离的光源 10.5 雾贴图/容积雾 10.6 光照例子的研究 第11章 游戏中的阴影 11.1 阴影的特性 11.1.1 计算机图形学中阴影的特性 11.1.2 地面上的简单阴影 11.2 经典的阴影算法 11.2.1 阴影算法: 多边形投影/扫描线 11.2.2 阴影算法: 阴影体 11.2.3 阴影算法: 光源变换到阴影多边形的来历 11.2.4 阴影算法: 阴影Z缓冲 11.3 游戏中的阴影 11.3.1 在光照贴图中加入阴影 11.3.2 柔和阴影 11.3.3 动态物体的快速阴影 第12章 多路渲染 12.1 简介 12.2 多路函数性 12.2.1 合成渲染图像 12.2.2 混合(OpenGL) 12.2.3 Z缓冲(OpenGL) 12.2.4 累加缓冲(OpenGL) 12.2.5 模板缓冲(OpenGL) 12.3 多路算法 12.3.1 由后向前透明 12.3.2 平面反射 12.3.3 多路阴影体 12.3.4 多路阴影体——实现 12.3.5 光照对象 12.4 多路采样方法 12.5 多纹理 12.6 多纹理实例 12.6.1 细节调节 12.6.2 视角依赖的细节光照贴图 12.6.3 将多纹理用作最终光照模型 第四部分 对象的控制 第13章 运动控制 13.1 简介 13.2 对动画进行预编辑--线性插值及耗用时间 13.3 预编辑动画--插值问题 13.4 预编辑动画--显式编辑 13.5 旋转插值 13.6 用四元数表示旋转 13.6.1 四元数的插值 13.6.2 移入与移出四元数空间 13.6.3 球星的线性插值 13.7 将照相机作为动画对象 13.8 粒子动画 13.9 粒子动画与计算机游戏 13.10 关节结构 第14章 动态仿真控制 14.1 著名示例--脱机动画中的动力学 14.2 初值问题和边值问题 14.3 主题范围 14.4 动态仿真的动机 14.5 基本经典粒子论 14.6 基本经典刚体论 14.6.1 线动量、角动量和质心 14.6.2 世界参照系和物体参照系 14.6.3 刚体的方向 14.6.4 角速度 14.6.5 刚体——力和力矩 14.6.6 惯性张量 14.6.7 碰撞反应 14.7 动态仿真的实用性 14.7.1 一般动力学模块 14.7.2 确定确切的碰撞时间 14.7.3 应用依赖性 14.7.4 简单例子 14.7.5 预计算和在线仿真 14.7.6 时空约束 14.8 数值积分 14.8.1 欧拉方法和误差 14.8.2 多步法——Adams-Bashforth 14.8.3 预测-校正 14.8.4 Runge-Kutta 14.8.5 自适应方法 第15章 碰撞检测 15.1 广义/狭义二阶段算法 15.2 包围体层次结构 15.3 使用aabb的广义碰撞检测 15.3.1 OBB树 13.3.2 建造OBB树 15.4 使用obb的广义碰撞检测 15.5 使用局部或对象空间划分的广义碰撞检测 15.6 狭义碰撞检测 15.6.1 凸多面体对——精确碰撞检测 15.6.2 Lin-Canny最近特征算法 15.6.3 分割面 15.7 单阶段方法 15.7.1 BSP树 15.7.2 局部或对象空间划分——BSP树合并 15.7.3 球体/多面体的特殊化处理 15.7.4 使用深度缓存 15.7.5 Hubbard的时间攸关球树算法——单步方法 第16章 交互控制 16.1 交互与动画 16.2 控制器模块 16.3 用户-对象交互——使用简单阻尼的6自由度控制 16.4 用户-对象动画——4键汽车仿真 16.5 对象-对象交互 16.6 照相机-对象交互 16.7 具有简单自治行为的对象 16.7.1 炮台 16.7.2 机器人飞行物体 16.8 用户-场景交互 第17章 行为与人工智能 17.1 确定的方法和体系结构 17.1.1 有限状态机 17.1.2 模糊状态机 17.2 主体和层次 17.2.1 反射或反应主体 17.2.2 具有内部状态的反射主体 17.2.3 基于目标的主体 17.3 主体体系结构的例子 17.4 认知模型和情景演算 17.5 作为例子的感知视觉的作用 17.6 认知结构 17.6.1 认知和神经网络 17.6.2 两个线性可分模式类的感知器 17.6.3 n类别的感知器 17.6.4 MLP前馈神经网络 17.6.5 向后传播算法 第五部分 二维技术 第18章 二维技术 18.1 图像金字塔 18.2 小波变换 18.3 图像变换与基矩阵 18.4 小波与计算机游戏 18.5 图像变形--变形转换技术 18.5.1 变形转换二维图像 18.5.2 二样条网格扭曲 第19章 基于图像的渲染 19.1 简介 19.2 重复使用已绘制的图像--二维技术 19.2.1 平面插板的有效性 19.2.2 布告板和光照效果 19.2.3 布告板和光照效果 19.3 变化的渲染资源 19.3.1 优先渲染 19.3.2 图形分层 19.4 使用深度信息 19.4.1 三维卷绕 19.4.2 分层深度图像(LDI) 19.4.3 使用LDI的入口图像 19.5 视见插值 19.6 四维技术--泛光或光场渲染方法 19.7 照片建模和ibr 19.7.1 使用照片全景的基于图像的渲染 19.7.2 合成全景图 第六部分 软件技术 第20章 多人游戏技术 20.1 简介 20.2 定义 20.3 多人游戏的实现 20.4 多人游戏所面临的问题 20.4.1 延迟发生的原因 20.4.2 延迟语义学、消息丢失和重组 20.5 简化通信信息 22.5.1 数据压缩 22.5.2 预测性方法 22.5.3 一致性 20.6 应用客户-服务器模式实现多人游戏 第21章 引擎体系结构 21.1 c++游戏编程 21.1.1 类 21.1.2 构造函数 21.1.3 析构函数 21.1.4 继承性 21.1.5 虚拟函数 21.1.6 运算符 21.1.7 模板 21.1.8 公有性/私有性/保护性 21.2 游戏中复杂度的管理和改进 21.3 引擎设计和体系结构 21.4 Fly3D软件体系结构 21.4.1 插件 21.4.2 Fly3D前端和梅帧中的主要渲染操作 21.4.3 碰撞检测 21.4.4 库存和活动对象列表 21.4.5 作用球 21.4.6 对象与插件间的通信 21.4.7 照相机和场景绘制 21.4.8 文本输出 21.4.9 渲染API 第22章 Fly3D软件开发工具包参考 22.1 简介 22.2 全局参考 22.3 对象参考 22.3.1 类anim_mesh: public mesh 22.3.2 类base_object 22.3.3 类bezier_curve:public base_object 22.3.4 类bezier_patch:public base_object 22.3.5 类boundbox 22.3.6 类bsp_node:public plane 22.3.7 类bsp_object:public base_object, particle, local_systeem 22.3.8 类class_desc 22.3.9 类console 22.3.10 类direct_X 22.3.11 类face:public plane 22.3.12 类fly_pak 22.3.13 类fly_pak_util 22.3.14 类flydll 22.3.15 类flydllgroup 22.3.16 类flyEngine 22.3.17 类light_map 22.3.18 类light_map_pic 22.3.19 类light_vertex 22.3.20 类local_system 22.3.21 类mat4X4 22.3.22 类mesh:public base_object 22.3.23 类mp_games 22.3.24 类mp_msg 22.3.25 类param_desc 22.3.26 类particle 22.3.27 类picture 22.3.28 类plane 22.3.29 类player_data 22.3.30 类render 22.3.31 类renderGL: public render 22.3.32 类sound: public base_object 22.3.33 类static_mesh: public bsp_object 22.3.34 类stripfan_mesh 22.3.35 类textcache 22.3.36 类textcacheGL: public text-cache 22.3.37 类vector 附录A Fly3D SDK教程 参考文献

...展开详情
上传时间:2013-01 大小:64.99MB
热门图书