3D游戏编程大师技巧

出版时间:2005-6  出版社:人民邮电出版社  作者:[美] 拉莫泽  页数:922  字数:1921000  译者:李祥瑞,陈武  
Tag标签:无  

内容概要

本书是游戏编程畅销书作者André LaMothe的扛鼎之作,从游戏编程和软件引擎的角度深入探讨了3D图形学的各个重要主题。全书共分5部分,包括16章的内容。第1~3章简要地介绍了Windows和DirectX编程,创建了一个Windows应用程序模板,让读者能够将精力放在游戏逻辑和图形实现中,而不用考虑Windows和DirectX方面的琐事;第4~5章简要地介绍了一些数学知识并实现了一个数学库,供以后编写演示程序时使用;第6章概述了3D图形学,让读者对本书将介绍的内容有大致的了解;第7~11章分别介绍了光照、明暗处理、仿射纹理映射、3D裁剪和深度缓存等内容;第12~14章讨论了高级3D渲染技术,包括透视修正纹理映射、Alpha混合、1/z缓存、纹理滤波、空间划分和可见性算法、阴影、光照映射等;第15~16章讨论了动画、运动碰撞检测和优化技术。  本书适合于有一定编程经验并想从事游戏编程工作或对3D图形学感兴趣的人员阅读。

作者简介

Andre LaMothe 有25年的计算行业从业经验,拥有数学、计算机科学和电子工程等学位,是20岁时就在NASA做研究工作的少数几人之一。在30岁之前,他在硅谷的众多公司中从事过咨询工作,了解了公司运作,获得了多种领域的知识,如电信、虚拟现实、机器人技术、编译器设计、3D引擎

书籍目录

第一部分 3D游戏编程简介第1章 3D游戏编程入门 21.1 简介 21.2 2D/3D游戏的元素 31.2.1 初始化 31.2.2 进入游戏循环 31.2.3 读取玩家输入 41.2.4 执行AI和游戏逻辑 41.2.5 渲染下一帧 41.2.6 同步显示 41.2.7 循环 41.2.8 关闭 51.3 通用游戏编程指南 71.4 使用工具 91.4.1 3D关卡编辑器 121.4.2 使用编译器 131.5 一个3D游戏范例:Raiders 3D 151.5.1 事件循环 331.5.2 核心3D游戏逻辑 341.5.3 3D投影 351.5.4 星空 361.5.5 激光炮和碰撞检测 371.5.6 爆炸 371.5.7 玩Raiders3D 371.6 总结 37第2章 Windows和DirectX简明教程 382.1 Win32编程模型 382.2 Windows程序的最小需求 392.3 一个基本的Windows应用程序 432.3.1 Windows类 432.3.2 注册Windows类 472.3.3 创建窗口 472.3.4 事件处理程序 482.3.5 主事件循环 522.3.6 构建实时事件循环 552.4 DirectX和COM简明教程 562.4.1 HEL和HAL 572.4.2 DirectX基本类 582.5 COM简介 592.5.1 什么是COM对象 602.5.2 创建和使用DirectX COM接口 612.5.3 查询接口 622.6 总结 64第3章 使用虚拟计算机进行3D游戏编程 653.1 虚拟计算机接口简介 653.2 建立虚拟计算机接口 663.2.1 帧缓存和视频系统 663.2.2 使用颜色 703.2.3 缓存交换 713.2.4 完整的虚拟图形系统 733.2.5 I/O、声音和音乐 733.3 T3DLIB游戏控制台 743.3.1 T3DLIB系统概述 743.3.2 基本游戏控制台 743.4 T3DLIB1库 793.4.1 DirectX图形引擎体系结构 793.4.2 基本常量 793.4.3 工作宏 813.4.4 数据类型和结构 813.4.5 函数原型 843.4.6 全局变量 883.4.7 DirectDraw接口 893.4.8 2D多边形函数 923.4.9 数学函数和错误函数 973.4.10 位图函数 993.4.11 8位调色板函数 1023.4.12 实用函数 1043.4.13 BOB(Blitter对象)引擎 1063.5 T3DLIB2 DirectX输入系统 1123.6 T3DLIB3声音和音乐库 1163.6.1 头文件 1173.6.2 类型 1173.6.3 全局变量 1173.6.4 DirectSound API封装函数 1183.6.5 DirectMusic API封装函数 1213.7 建立最终的T3D游戏控制台 1243.7.1 映射真实图形到虚拟接口的非真实图形 1243.7.2 最终的T3DLIB游戏控制台 1263.8 范例T3LIB应用程序 1343.8.1 窗口应用程序 1343.8.2 全屏应用程序 1353.8.3 声音和音乐 1363.8.4 处理输入 1363.9 总结 139第二部分 3D数学和变换第4章 三角学、向量、矩阵和四元数 1424.1 数学表示法 1424.2 2D坐标系 1434.2.1 2D笛卡尔坐标 1434.2.2 2D极坐标 1444.3 3D坐标系 1474.3.1 3D笛卡尔坐标 1474.3.2 3D柱面坐标 1494.3.3 3D球面坐标 1504.4 三角学 1514.4.1 直角三角形 1514.4.2 反三角函数 1534.4.3 三角恒等式 1534.5 向量 1544.5.1 向量长度 1554.5.2 归一化 1554.5.3 向量和标量的乘法 1554.5.4 向量加法 1564.5.5 向量减法 1574.5.6 点积 1574.5.7 叉积 1594.5.8 零向量 1604.5.9 位置和位移向量 1604.5.10 用线性组合表示的向量 1614.6 矩阵和线性代数 1614.6.1 单位矩阵 1624.6.2 矩阵加法 1634.6.3 矩阵的转置 1634.6.4 矩阵乘法 1644.6.5 矩阵运算满足的定律 1654.7 逆矩阵和方程组求解 1654.7.1 克来姆法则 1674.7.2 使用矩阵进行变换 1684.7.3 齐次坐标 1694.7.4 应用矩阵变换 1704.8 基本几何实体 1764.8.1 点 1764.8.2 直线 1764.8.3 平面 1794.9 使用参数化方程 1824.9.1 2D参数化直线 1824.9.2 3D参数化直线 1844.10 四元数简介 1894.10.1 复数理论 1894.10.2 超复数 1934.10.3 四元数的应用 1974.11 总结 200第5章 建立数学引擎 2015.1 数学引擎概述 2015.1.1 数学引擎的文件结构 2015.1.2 命名规则 2025.1.3 错误处理 2035.1.4 关于C++的最后说明 2035.2 数据结构和类型 2035.2.1 向量和点 2035.2.2 参数化直线 2045.2.3 3D平面 2065.2.4 矩阵 2065.2.5 四元数 2095.2.6 角坐标系支持 2105.2.7 2D极坐标 2105.2.8 3D柱面坐标 2115.2.9 3D球面坐标 2115.2.10 定点数 2125.3 数学常量 2135.4 宏和内联函数 2145.4.1 通用宏 2185.4.2 点和向量宏 2185.4.3 矩阵宏 2195.4.4 四元数 2205.4.5 定点数宏 2215.5 函数原型 2215.6 全局变量 2245.7 数学引擎API清单 2255.7.1 三角函数 2255.7.2 坐标系支持函数 2265.7.3 向量支持函数 2285.7.4 矩阵支持函数 2355.7.5 2D和3D参数化直线支持函数 2455.7.6 3D平面支持函数 2485.7.7 四元数支持函数 2525.7.8 定点数支持函数 2595.7.9 方程求解支持函数 2635.8 浮点单元运算初步 2655.8.1 FPU体系结构 2665.8.2 FPU堆栈 2665.8.3 FPU指令集 2685.8.4 经典指令格式 2705.8.5 内存指令格式 2715.8.6 寄存器指令格式 2715.8.7 寄存器弹出指令格式 2715.8.8 FPU范例 2715.8.9 FLD范例 2725.8.10 FST范例 2725.8.11 FADD范例 2735.8.12 FSUB范例 2755.8.13 FMUL范例 2765.8.14 FDIV范例 2785.9 数学引擎使用说明 2795.10 关于数学优化的说明 2805.11 总结 280第6章 3D图形学简介 2826.1 3D引擎原理 2826.2 3D游戏引擎的结构 2826.2.1 3D引擎 2836.2.2 游戏引擎 2836.2.3 输入系统和网络 2846.2.4 动画系统 2846.2.5 碰撞检测和导航系统 2876.2.6 物理引擎 2886.2.7 人工智能系统 2896.2.8 3D模型和图像数据库 2896.3 3D坐标系 2916.3.1 模型(局部)坐标 2916.3.2 世界坐标 2936.3.3 相机坐标 2966.3.4 有关相机坐标的说明 3026.3.5 隐藏物体(面)消除和裁剪 3036.3.6 透视坐标 3086.3.7 流水线终点:屏幕坐标 3156.4 基本的3D数据结构 3216.4.1 表示3D多边形数据时需要考虑的问题 3226.4.2 定义多边形 3236.4.3 定义物体 3276.4.4 表示世界 3306.5 3D工具 3316.6 从外部加载数据 3326.6.1 PLG文件 3336.6.2 NFF文件 3356.6.3 3D Studio文件 3386.6.4 Caligari COB文件 3436.6.5 Microsoft DirectX .X文件 3456.6.6 3D文件格式小结 3456.7 基本刚性变换和动画 3456.7.1 3D平移 3456.7.2 3D旋转 3466.7.3 3D变形 3476.8 再看观察流水线 3486.9 3D引擎类型 3496.9.1 太空引擎 3496.9.2 地形引擎 3506.9.3 FPS室内引擎 3516.9.4 光线投射和体素引擎 3526.9.5 混合引擎 3536.10 将各种功能集成到引擎中 3536.11 总结 353第7章 渲染3D线框世界 3547.1 线框引擎的总体体系结构 3547.1.1 数据结构和3D流水线 3557.1.2 主多边形列表 3577.1.3 新的软件模块 3597.2 编写3D文件加载器 3597.3 构建3D流水线 3677.3.1 通用变换函数 3677.3.2 局部坐标到世界坐标变换 3727.3.3 欧拉相机模型 3757.3.4 UVN相机模型 3777.3.5 世界坐标到相机坐标变换 3877.3.6 物体剔除 3907.3.7 背面消除 3937.3.8 相机坐标到透视坐标变换 3957.3.9 透视坐标到屏幕(视口)坐标变换 3997.3.10 合并透视变换和屏幕变换 4037.4 渲染3D世界 4057.5 3D演示程序 4087.5.1 单个3D三角形 4087.5.2 3D线框立方体 4117.5.3 消除了背面的3D线框立方体 4137.5.4 3D坦克演示程序 4147.5.5 相机移动的3D坦克演示程序 4167.5.6 战区漫步演示程序 4187.6 总结 421第三部分 基本3D渲染第8章 基本光照和实体造型 4248.1 计算机图形学的基本光照模型 4248.1.1 颜色模型和材质 4268.1.2 光源类型 4328.2 三角形的光照计算和光栅化 4378.2.1 为光照做准备 4418.2.2 定义材质 4428.2.3 定义光源 4458.3 真实世界中的着色 4498.3.1 16位着色 4498.3.2 8位着色 4508.3.3 一个健壮的用于8位模式的RGB模型 4508.3.4 一个简化的用于8位模式的强度模型 4538.3.5 固定着色 4578.3.6 恒定着色 4598.3.7 Gouraud着色概述 4728.3.8 Phong着色概述 4748.4 深度排序和画家算法 4758.5 使用新的模型格式 4798.5.1 分析器类 4798.5.2 辅助函数 4828.5.3 3D Studio MAX ASCII格式.ASC 4848.5.4 TrueSpace ASCII.COB格式 4868.5.5 Quake II二进制.MD2格式概述 4948.6 3D建模工具简介 4958.7 总结 497第9章 插值着色技术和仿射纹理映射 4989.1 新T3D引擎的特性 4989.2 更新T3D数据结构和设计 4999.2.1 新的#defines 4999.2.2 新增的数学结构 5019.2.3 实用宏 5029.2.4 添加表示3D网格数据的特性 5039.2.5 更新物体结构和渲染列表结构 5089.2.6 函数清单和原型 5119.3 重新编写物体加载函数 5179.3.1 更新.PLG/PLX加载函数 5179.3.2 更新3D Studio .ASC加载函数 5279.3.3 更新Caligari .COB加载函数 5289.4 回顾多边形的光栅化 5329.4.1 三角形的光栅化 5329.4.2 填充规则 5359.4.3 裁剪 5379.4.4 新的三角形渲染函数 5389.4.5 优化 5429.5 实现Gouraud着色处理 5439.5.1 没有光照时的Gouraud着色 5449.5.2 对使用Gouraud Shader的多边形执行光照计算 5539.6 基本采样理论 5609.6.1 一维空间中的采样 5609.6.2 双线性插值 5619.6.3 u和v的插值 5639.6.4 实现仿射纹理映射 5649.7 更新光照/光栅化引擎以支持纹理 5669.8 对8位和16位模式下优化策略的最后思考 5719.8.1 查找表 5719.8.2 网格的顶点结合性 5729.8.3 存储计算结果 5729.8.4 SIMD 5739.9 最后的演示程序 5739.10 总结 576第10章 3D裁剪 57710.1 裁剪简介 57710.1.1 物体空间裁剪 57710.1.2 图像空间裁剪 58010.2 裁剪算法 58110.2.1 有关裁剪的基本知识 58110.2.2 Cohen-Sutherland裁剪算法 58510.2.3 Cyrus-Beck/梁友栋-Barsky裁剪算法 58610.2.4 Weiler-Atherton裁剪算法 58810.2.5 深入学习裁剪算法 59010.3 实现视景体裁剪 59110.3.1 几何流水线和数据结构 59210.3.2 在引擎中加入裁剪功能 59310.4 地形小议 61110.4.1 地形生成函数 61210.4.2 生成地形数据 61910.4.3 沙地汽车演示程序 61910.5 总结 623第11章 深度缓存和可见性 62411.1 深度缓存和可见性简介 62411.2 z缓存基础 62611.2.1 z缓存存在的问题 62711.2.2 z缓存范例 62711.2.3 平面方程法 63011.2.4 z坐标插值 63111.2.5 z缓存中的问题和1/z缓存 63211.2.6 一个通过插值计算z和1/z的例子 63311.3 创建z缓存系统 63511.4 可能的z缓存优化 64911.4.1 使用更少的内存 64911.4.2 降低清空z缓存的频率 65011.4.3 混合z缓存 65111.5 z缓存存在的问题 65111.6 软件和z缓存演示程序 65211.6.1 演示程序I:z缓存可视化 65211.6.2 演示程序II:Wave Raider 65311.7 总结 658第四部分 高级3D渲染第12章 高级纹理映射技术 66012.1 纹理映射——第二波 66012.2 新的光栅化函数 66712.2.1 最终决定使用定点数 66712.2.2 不使用z缓存的新光栅化函数 66812.2.3 支持z缓存的新光栅化函数 67012.3 使用Gouruad着色的纹理映射 67112.4 透明度和alpha混合 67712.4.1 使用查找表来进行alpha混合 67812.4.2 在物体级支持alpha混合功能 68812.4.3 在地形生成函数中加入    alpha支持 69412.5 透视修正纹理映射和1/z缓存 69612.5.1 透视纹理映射的数学基础 69612.5.2 在光栅化函数中加入1/z缓存功能 70212.5.3 实现完美透视修正纹理映射 70712.5.4 实现线性分段透视修正纹理映射 71012.5.5 透视修正纹理映射的二次近似 71412.5.6 使用混合方法优化纹理映射 71812.6 双线性纹理滤波 71912.7 Mipmapping和三线性纹理滤波 72412.7.1 傅立叶分析和走样简介 72512.7.2 创建Mip纹理链 72712.7.3 选择mip纹理 73412.7.4 三线性滤波 73912.8 多次渲染和纹理映射 74012.9 使用单个函数来完成渲染工作 74112.9.1 新的渲染场境 74112.9.2 设置渲染场境 74312.9.3 调用对渲染场境进行渲染的函数 74512.10 总结 753第13章 空间划分和可见性算法 75413.1 新的游戏引擎模块 75413.2 空间划分和可见面判定简介 75413.3 二元空间划分 75713.3.1 平行于坐标轴的二元空间划分 75813.3.2 任意平面空间划分 75913.3.3 使用多边形所在的平面来划分空间 76013.3.4 显示/访问BSP树中的每个节点 76213.3.5 BSP树数据结构和支持函数 76313.3.6 创建BSP树 76513.3.7 分割策略 76713.3.8 遍历和显示BSP树 77513.3.9 将BSP树集成到图形流水线中 78413.3.10 BSP关卡编辑器 78513.3.11 BSP的局限性 79313.3.12 使用BSP树的零重绘策略 79413.3.13 将BSP树用于剔除 79513.3.14 将BSP树用于碰撞检测 80213.3.15 集成BSP树和标准渲染 80213.4 潜在可见集 80713.4.1 使用潜在可见集 80813.4.2 潜在可见集的其他编码方法 80913.4.3 流行的PVS计算方法 81013.5 入口 81113.6 包围体层次结构和八叉树 81313.6.1 使用BHV树 81513.6.2 运行性能 81613.6.3 选择策略 81713.6.4 实现BHV 81813.6.5 八叉树 82513.7 遮掩剔除 82513.7.1 遮掩体 82613.7.2 选择遮掩物 82613.7.3 混合型遮掩物选择方法 82713.8 总结 827第14章 阴影和光照映射 82814.1 新的游戏引擎模块 82814.2 概述 82814.3 简化的阴影物理学 82914.4 使用透视图像和广告牌来模拟阴影 83214.4.1 编写支持透明功能的光栅化函数 83314.4.2 新的库模块 83514.4.3 简单阴影 83714.4.4 缩放阴影 83914.4.5 跟踪光源 84114.4.6 有关模拟阴影的最后思考 84414.5 平面网格阴影映射 84514.5.1 计算投影变换 84514.5.2 优化平面阴影 84814.6 光照映射和面缓存技术简介 84814.6.1 面缓存技术 85014.6.2 生成光照图 85014.6.3 实现光照映射函数 85114.6.4 暗映射(dark mapping) 85314.6.5 光照图特效 85414.6.6 优化光照映射代码 85414.7 整理思路 85414.8 总结 854第五部分 高级动画、物理建模和优化第15章 3D角色动画、运动和碰撞检测 85815.1 新的游戏引擎模块 85815.2 3D动画简介 85815.3 Quake II .MD2文件格式 85915.3.1 .MD2文件头 86115.3.2 加载Quake II .MD2文件 86815.3.3 使用.MD2文件实现动画 87415.3.4 .MD2演示程序 88215.4 不基于角色的简单动画 88315.4.1 旋转运动和平移运动 88315.4.2 复杂的参数化曲线移动 88515.4.3 使用脚本来实现运动 88515.5 3D碰撞检测 88715.5.1 包围球和包围圆柱 88715.5.2 使用数据结构来提高碰撞检测的速度 88815.5.3 地形跟踪技术 88915.6 总结 890第16章 优化技术 89116.1 优化技术简介 89116.2 使用Microsoft Visual C++和Intel VTune剖析代码 89216.2.1 使用Visual C++进行剖析 89216.2.2 分析剖析数据 89316.2.3 使用VTune进行优化 89416.3 使用Intel C++编译器 89916.3.1 下载Intel的优化编译器 90016.3.2 使用Intel编译器 90016.3.3 使用编译器选项 90116.3.4 手工为源文件选择编译器 90116.3.5 优化策略 90216.4 SIMD编程初步 90216.4.1 SIMD基本体系结构 90316.4.2 使用SIMD 90316.4.3 一个SIMD 3D向量类 91216.5 通用优化技巧 91816.5.1 技巧1:消除_ftol() 91816.5.2 技巧2:设置FPU控制字 91816.5.3 技巧3:快速将浮点变量设置为零 91916.5.4 技巧4:快速计算平方根 91916.5.5 技巧5:分段线性反正切 92016.5.6 技巧6:指针递增运算 92016.5.7 技巧7:尽可能将if语句放在循环外面 92116.5.8 技巧8:支化(branching)流水线 92116.5.9 技巧9:数据对齐 92116.5.10 技巧10:将所有简短函数都声明为内联的 92216.5.11 参考文献 92216.6 总结 922第六部分 附录附录A 光盘内容简介 CD: 924附录B 安装DirectX和使用Visual C/C++ CD: 925B.1 安装DirectX CD: 925B.2 使用Visual C/C++编译器 CD: 925B.3 编译提示 CD: 926附录C 三角学和向量参考 CD: 927C.1 三角学 CD: 927C.2 向量 CD: 929C.2.1 向量长度 CD: 930C.2.2 归一化 CD: 930C.2.3 标量乘法 CD: 930C.2.4 向量加法 CD: 931C.2.5 向量减法 CD: 931C.2.6 点积 CD: 932C.2.7 叉积 CD: 933C.2.8 零向量 CD: 934C.2.9 位置向量 CD: 934C.2.10 向量的线性组合 CD: 934附录D C++入门 CD: 935D.1 C++是什么 CD: 935D.2 必须掌握的C++知识 CD: 937D.3 新的类型、关键字和约定 CD: 937D.3.1 注释符 CD: 937D.3.2 常量 CD: 937D.3.3 引用型变量 CD: 938D.3.4 即时创建变量 CD: 938D.4 内存管理 CD: 939D.5 流式输入/输出 CD: 939D.6 类 CD: 941D.6.1 新结构 CD: 941D.6.2 一个简单的类 CD: 942D.6.3 公有和私有 CD: 942D.6.4 类的成员函数(方法) CD: 943D.6.5 构造函数和析构函数 CD: 944D.6.6 编写构造函数 CD: 945D.6.7 编写析构函数 CD: 946D.7 域运算符 CD: 947D.8 函数和运算符重载 CD: 948D.9 基本模板 CD: 950D.10 异常处理简介 CD: 951D.11 总结 CD: 954附录E 游戏编程资源 CD: 955E.1 游戏编程和新闻网站 CD: 955E.2 下载站点 CD: 955E.3 2D/3D引擎 CD: 956E.4 游戏编程书籍 CD: 956E.5 微软公司的Direct X 多媒体展示 CD: 956E.6 新闻组 CD: 957E.7 跟上行业的步伐 CD: 957E.8 游戏开发杂志 CD: 957E.9 Quake资料 CD: 957E.10 免费模型和纹理 CD: 957E.11 游戏网站开发者 CD: 957附录F ASCII码表 CD: 959

图书封面

图书标签Tags

评论、评分、阅读与下载


    3D游戏编程大师技巧 PDF格式下载


用户评论 (总计19条)

 
 

  •   这是一本好书,作者以C语言为基础从最简单的渲染原来开始分析,最后给读者实现出了一套完整的可工作3D渲染引擎,这样的图书与那些一上来就是DX/OPENGL函数调用方法的书是有本质区别的,建议对3D渲染引擎的实现有兴趣的读者可以购买此书来看一下,可以得到很多知识;此书的缺点在于对于书名是<3D游戏编程大师技巧>,虽然书中详细实现了一个渲染引擎,但是对于3D物体的运动等内容极少,这是一大缺憾,希望在下一本图书中有类似内容;如果对2d的内容有兴趣,作者还有一本绿皮的书,也可以一起买来看一下。备注:此评论禁止转载或用于其他用途。
  •   不用多说了,做引擎的不看都对不起自己。
  •   此书非常不错,不过还没有时间看此书非常不错,不过还没有时间看此书非常不错,不过还没有时间看此书非常不错,不过还没有时间看此书非常不错,不过还没有时间看此书非常不错,不过还没有时间看此书非常不错,不过还没有时间看
  •   但是非常难学的,书比较厚,要有耐心的,没有一个完整的3D游戏代码的例子,好遗憾!不过非常值得一看!
  •   如果没有第一卷的帮助,要看懂这本书,还是要花些时间的。很经典,但没第一卷翻译的好。
  •     几年前读了这本书,对于一个想要弄懂影视和游戏那些炫目的3D世界背后的原理这本书可以堪称始祖级教材,
       首先这本书厚的出奇,肯定会吓读者一跳,也考验读者的意志力,这可不是什么人可以随便看看的书哦,除了兴趣还是兴趣才能支撑你看完这本书并读完每一行代码,看完后你会消除3D世界对你的神秘感,知道3D的所有物体都是用基础的数学原理和代码一行一行写出来的,“咦,不过如此嘛”,但也非常钦佩本书的作者,把3D背后的秘密以非常简约清晰的方式呈现给我们,读这本书建议不要太功力的方式读他,不可能读完它就能自己写个商业3D引擎出来,因为现在3D图形都要用硬件GPU来实现了,写个软3D引擎只能自己玩玩而已。
       它是经典,经典的东西要细细品味,经典的东西还要多读几遍,我读第一遍有些不懂的地方,但不要放弃,读到第2遍就懂了,还有能读英文原本的更好,你可以感受到作者的真实想法,我打算有时间再读一遍英文原版的。
  •     有想卖的Q我 124740523, 绝版了很难买啊,到处都买不到,谁有闲置的不用卖给我吧,求 OR2... T_T
  •     虽然本书介绍的是软引擎,但是相关道理可以通用的。
      
      优点:简单、知识点基础并且较全、有源代码
      
      虽然本书介绍的是软引擎,但是相关道理可以通用的。
      
      优点:简单、知识点基础并且较全、有源代码
  •     自己是做AS3的,2011年初据说Flash可以支持3D了,蛋疼,想要了解一下最基本的3D理论知识。
      
      各方搜索后得出这本书比较适合自身水平阅读,还有大量的代码可以参考。于是乎花了大概1个月的时间翻了一遍。感触良多。
      首先3D引擎果然不是我们这些低智商的写AS3的人可以写出来的
      其次是这本书我真没怎么看懂
      再次是我居然开始按照书里面给的思路开始写软3D引擎了
      这本书的魅力就是这么大,可以让一个低水平的完全对3D没概念的人慢慢照着书中的思路写下去并且,it works。
      
      推荐评级
      只要是蛋疼的人对3D又有兴趣的都可以看看,很有趣很有趣
  •     这本书已经绝版很久了,在学校的图书馆里觅得.
      
      作为一个想向3D游戏发展的IT业新人,我觉得这本书十分值得一看,
      对基础原理介绍还算十分详细,
      
      例如网上基本搜不到关于1/zbuffer在屏幕空间中呈线性的证明,
      这本书12章有两种证法,
      
      并且对各种高级渲染技术从算法的角度给读者解释,书中代码量非常多,
      第十二章有5万行代码(注释也很多),
      
      综上, 我觉得在有一定的3D数学基础上看WINDOWS游戏编程大师 + 3D游戏编程大师这两本书会让你在这个领域中有一个很好的起步.
  •     André LaMothe的这本书立足于3D软件图形加速,说白了就是用CPU而非显卡进行3D图形计算。在3D显示加速卡出现以前,都是利用的软件加速的方式开发。可时过境迁,目前有很多相当成熟的图形API集可供选择如DirectX和OpenGL等。这样的接口利用的是显卡资源进行加速,即硬件加速,这样就绕开了很多具体问题,而交由接口来处理。对于开发来讲,提高了效率;可对于学习3D实时图形开发则理解不够透彻。所以,这本书讲的不是如何利用现有接口实现,而是如何自行实现的方法。本书不需要有很深的3D几何知识,通篇会逐步带你学习。对于希望更深入学习3D图形开发的人来说应该好好读一读。
  •   上淘宝去买呗,一堆呢
  •   恩。淘宝的我买了。我想买个原装正版的……
  •   猫粮...你书哪里买的牙????到处缺货牙..
  •   我也想买~ ~
  •   我有中文翻译版的 原书,没看过 一直放箱子里面的,9.9成新,转让,有人要吗?
      QQ:409355565
      注明,大师技巧 买书
  •   确实是好书,推荐看英文版的
  •   我有中文翻译版的书,没看过,9.9成新,转让,有人要吗?
    QQ:409355565
    注明,大师技巧 买书
  •   这本书不是最要用到DriectX7么?
    有没有讲其它API的书推荐一下?
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7