Windows游戏编程大师技巧

Windows游戏编程大师技巧
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
出版社: 人民邮电出版社
2012-11
版次: 1
ISBN: 9787115292483
定价: 108.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 734页
字数: 1千字
  • 《Windows游戏编程大师技巧(第2版)》是著名游戏程序设计大师AndréLaMothe的代表作。
    全书分为4个部分,共计15章和6个附录。作者循循善诱地从程序设计的角度介绍了在Windows环境下进行游戏开发所需的全部知识,包括Win32编程以及DirectX中所有主要组件(包括DirectDraw、DirectSound、DirectInput和DirectMusic)。书中还用单独的章节详细讲授了2D图形学和光栅化技术、游戏算法、多线程编程、文本游戏和解析、人工智能(包括模糊逻辑、神经网络和遗传算法)、物理建模(完全碰撞反应、动量传递和正反向运动学)及实时模拟等游戏程序开发中的关键技术。附录部分介绍了本书光盘的内容,如何安装DirectX,回顾了数学和三角学的基础知识、C++编程的基础知识,还给出了游戏编程资源以及ASCII表。
    《Windows游戏编程大师技巧(第2版)》所附光盘上带有本书中所有程序的源代码、关于Direct3D和General3D的文章和在线书籍以及众多免费的素材。
    《Windows游戏编程大师技巧(第2版)》适合想要学习Windows游戏编程的人员阅读,对于有一定经验的专业游戏开发人员,也具有较高的参考价值。   本书作者AndreLaMothe有25年的计算行业从业经验,拥有数学、计算机科学和电子工程等学位,是20岁时就在NASA做研究工作的少数几人之一。作者的著作以及参与策划的套系,都成为游戏设计和开发领域的经典。 第一部分Windows编程基础
    第1章学海无涯
    1.1历史一瞥
    1.2设计游戏
    1.3游戏类型
    1.4集思广益
    1.5设计文档和情节串联图板
    1.6使游戏具有趣味性
    1.7游戏的构成
    1.8常规游戏编程指导规范
    1.9使用工具
    1.10从准备到完成——使用编译器
    1.11示例:FreakOut
    1.12小结

    第2章Windows编程模型
    2.1Windows的起源
    2.1.1早期版本的Windows
    2.1.2Windows3.x
    2.1.3Windows95
    2.1.4Windows98
    2.1.5WindowsME
    2.1.6WindowsXP
    2.1.7WindowsNT/2000
    2.1.8Windows基本架构:Win9X/NT
    2.2多任务和多线程
    2.2.1获取线程的信息
    2.2.2事件模型
    2.3按照微软风格编程:匈牙利符号表示法
    2.3.1变量的命名
    2.3.2函数的命名
    2.3.3类型和常量的命名
    2.3.4类的命名
    2.3.5参数的命名
    2.4世界上最简单的Windows程序
    2.4.1总是从WinMain()开始
    2.4.2程序剖析
    2.4.3选择一个信息框
    2.5现实中的Windows应用程序
    2.6Windows类
    2.7注册Windows类
    2.8创建窗口
    2.9事件处理程序
    2.10主事件循环
    2.11产生一个实时事件循环
    2.12打开多个窗口
    2.13小结

    第3章高级Windows编程
    3.1使用资源
    3.1.1整合资源
    3.1.2使用图标资源
    3.1.3使用光标资源
    3.1.4创建字符串表资源
    3.1.5使用.WAV声音资源
    3.1.6使用编译器创建.RC文件
    3.2使用菜单
    3.2.1创建菜单
    3.2.2装载菜单
    3.2.3响应菜单事件消息
    3.3GDI(图形设备接口)简介
    3.3.1重拾WM_PAINT信息
    3.3.2视频显示基础和色彩(VideoDisplayBasicsandColor)
    3.3.3RGB和调色板模式
    3.3.4基本文本显示
    3.4处理重要事件
    3.4.1Windows操作
    3.4.2处理键盘事件
    3.4.3处理鼠标事件
    3.5自行发送消息
    3.6小结

    第4章WindowsGDI、控件和灵感
    4.1高级GDI绘图
    4.1.1掀开图形设备描述表的盖头来
    4.1.2颜色、画笔和画刷
    4.1.3使用画笔
    4.1.4使用画刷
    4.2点、线、平面多边形和圆
    4.2.1绘制点
    4.2.2绘制线段
    4.2.3绘制矩形
    4.2.4绘制圆
    4.2.5绘制多边形
    4.3深入文本和字体
    4.4定时高于一切
    4.4.1WM_TIMER消息
    4.4.2低层定时操作
    4.5使用控件
    4.5.1按钮
    4.5.2向子控件发送消息
    4.6获取信息
    4.7T3D游戏控制台程序
    4.8小结

    第二部分DirectX和2D基础
    第5章DirectX基础知识和令人生畏的COM
    5.1DirectX基础
    5.1.1HEL和HAL
    5.1.2更多的DirectX基础类
    5.2COM:是微软的杰作,还是魔鬼的杰作
    5.2.1COM对象究竟是什么
    5.2.2接口标识符和GUID的详细内容
    5.2.3创建一个类COM对象
    5.2.4COM的简要回顾
    5.2.5可运行的COM程序
    5.3应用DirectXCOM对象
    5.3.1COM和函数指针
    5.3.2创建和使用DirectX界面
    5.3.3接口查询
    5.4COM的前景
    5.5小结

    第6章初次邂逅DirectDraw
    6.1DirectDraw的接口
    6.1.1接口的特性
    6.1.2组合使用接口
    6.2创建DirectDraw对象
    6.2.1对DirectDraw进行错误处理
    6.2.2顺便提一下接口
    6.3与Windows协作
    6.4设置模式
    6.5色彩的奥秘
    6.6创建显示表面
    6.6.1创建一个主显示表面
    6.6.2关联调色板
    6.6.3绘制像素
    6.6.4清理资源
    6.7小结

    第7章高级DirectDraw和位图图形
    7.1使用高彩模式
    7.1.116位高彩模式
    7.1.2获取像素格式
    7.1.324/32位真彩色模式
    7.2双缓冲
    7.3表面动态
    7.4页面切换
    7.5显存块移动单元(Blitter)
    7.5.1使用Blitter进行内存填充
    7.5.2从一个表面向另一个表面复制位图
    7.6基础裁剪知识
    7.6.1将像素按视口裁剪
    7.6.2位图裁剪技巧
    7.6.3使用IDirectDrawClipper进行DirectDraw裁剪
    7.7使用位图
    7.7.1载入.BMP文件
    7.7.2使用位图
    7.7.3载入8位位图
    7.7.4载入16位位图
    7.7.5载入24位位图
    7.7.6总结位图
    7.8离屏表面
    7.8.1创建离屏表面
    7.8.2在离屏表面上进行Blitting
    7.8.3设置Blitter
    7.8.4色彩键
    7.8.5源色彩键
    7.8.6目标色彩键
    7.8.7使用Blitter(终于!)
    7.9位图的旋转和缩放
    7.10离散采样理论
    7.11色彩效果
    7.11.1256色模式下的色彩动画
    7.11.2256色模式下的色彩旋转
    7.11.3使用RGB模式的技巧
    7.12手动色彩变换及查询表
    7.13新的DirectX色彩和Gamma控制接口
    7.14将GDI和DirectX联用
    7.15DirectDraw的庐山真面目
    7.15.1主DirectDraw对象
    7.15.2关于表面
    7.15.3使用调色板
    7.16在窗口模式下使用DirectDraw
    7.17小结

    第8章矢量光栅化及2D变换
    8.1绘制线条
    8.1.1Bresenham算法
    8.1.2算法的速度优化
    8.2基本2D图形裁剪
    8.2.1利用点斜式计算两条直线的交点
    8.2.2利用一般式计算两条直线的交点
    8.2.3利用矩阵式计算两条直线的交点
    8.2.4裁剪直线
    8.2.5Cohen-Sutherland算法
    8.3线框多边形
    8.3.1多边形数据结构
    8.3.2多边形的绘制及裁剪
    8.42D平面里的变换
    8.4.1平移
    8.4.2旋转
    8.4.3缩放
    8.5矩阵引论
    8.5.1单位矩阵
    8.5.2矩阵加法
    8.5.3矩阵乘法
    8.5.4使用矩阵进行变换
    8.6平移
    8.7缩放
    8.8旋转
    8.9填充实心多边形
    8.9.1三角形和四边形类型
    8.9.2绘制三角形和四边形
    8.9.3三角形解构详述
    8.9.4四边形光栅化的一般性讨论
    8.9.5多边形的三角化
    8.10多边形碰撞检测
    8.10.1接近度、边界球/圆
    8.10.2边界盒
    8.10.3点包含
    8.11深入定时和同步
    8.12卷轴和摇镜头
    8.12.1页面卷轴引擎
    8.12.2均匀平铺(Tile)显示引擎
    8.12.3稀疏位图平铺显示引擎
    8.13伪3D等轴测引擎
    8.13.1方法1:基于单元,全二维
    8.13.2方法2:基于全屏,具有一些二维或三维的碰撞网络
    8.13.3方法3:采用全三维数学运算,使用一个固定的相机视角
    8.14T3DLIB1函数库
    8.14.1引擎架构
    8.14.2新的游戏编程控制台程序
    8.14.3基本定义
    8.14.4可用的宏
    8.14.5数据类型和结构
    8.14.6全局定义
    8.14.7DirectDraw接口
    8.14.82D多边形函数
    8.14.92D基本图元函数
    8.14.10数学和误差函数
    8.14.11位图函数
    8.14.12调色板函数
    8.14.13实用工具函数
    8.15BOB引擎
    8.16小结

    第9章DirectInput输入和力反馈
    9.1输入循环
    9.2DirectInput序曲
    9.2.1DirectInput组件
    9.2.2设置DirectInput的一般步骤
    9.2.3数据采集模式
    9.2.4创建主DirectInput对象
    9.2.5101键盘
    9.2.6读数据过程中的问题:重获取
    9.2.7捕捉鼠标
    9.2.8使用游戏杆
    9.2.9将输入消息化
    9.3力反馈
    9.3.1力反馈的物理原理
    9.3.2设置力反馈
    9.3.3力反馈演示程序
    9.4编写一个广泛适用的输入系统:T3DLIB2.CPP
    9.5小结

    第10章用DirectSound和DirectMusic演奏乐曲
    10.1在PC上对声音编程
    10.2从此有了声音…
    10.3数码声音与MIDI比较——音质好且存储省
    10.3.1数码声音——从“位”开始
    10.3.2合成声音与MIDI
    10.3.3MIDI概述
    10.4发声硬件
    10.4.1波表合成
    10.4.2波导合成
    10.5数码录音:设备和技术
    10.5.1录制声音
    10.5.2处理声音
    10.6DirectSound中的麦克风
    10.7初始化DirectSound
    10.7.1理解协作等级
    10.7.2设定协作等级
    10.8主声音缓冲区与辅助声音缓冲区
    10.8.1使用辅助缓冲区
    10.8.2创建辅助声音缓冲区
    10.8.3把数据写入辅助声音缓冲区
    10.9渲染声音
    10.9.1播放声音
    10.9.2停止播放
    10.9.3控制音量
    10.9.4调整频率
    10.9.5调整声道平衡
    10.10用DirectSound反馈信息
    10.11从磁盘中读取声音数据
    10.11.1.WAV文件格式
    10.11.2读取.WAV文件
    10.12DirectMusic:伟大的试验
    10.13DirectMusic的体系结构
    10.14初始化DirectMusic
    10.14.1初始化COM
    10.14.2创建一个演奏对象
    10.14.3给演奏对象增加端口
    10.15加载一个MIDI段
    10.15.1创建一个加载程序
    10.15.2加载MIDI文件
    10.16操作MIDI段
    10.16.1播放一个MIDI段
    10.16.2停止一个MIDI段
    10.16.3检查MIDI段的状态
    10.16.4释放一个MIDI段
    10.16.5关闭DirectMusic
    10.16.6一些DirectMusic的实例
    10.17T3DLIB3声音和乐曲库
    10.17.1头文件
    10.17.2类型
    10.17.3全局变量
    10.17.4DirectSoundAPI封装
    10.17.5DirectMusicAPI封装
    10.18小结

    第三部分核心游戏编程
    第11章算法、数据结构、内存管理和多线程
    11.1数据结构
    11.1.1静态结构和数组
    11.1.2链表
    11.2算法分析
    11.3递归
    11.4树结构
    11.4.1建立二分查找树(BST)
    11.4.2搜索BST
    11.5优化理论
    11.5.1运用你的头脑
    11.5.2数学技巧
    11.5.3定点运算
    11.5.4循环体展开
    11.5.5查找表
    11.5.6汇编语言
    11.6制作演示
    11.6.1预先记录的演示
    11.6.2由人工智能控制的演示
    11.7保存游戏的手段
    11.8实现多人游戏
    11.8.1轮流
    11.8.2分屏
    11.9多线程编程技术
    11.9.1多线程编程的术语
    11.9.2为何要在游戏中使用线程
    11.9.3取得一个线程
    11.9.4线程间的消息传递
    11.9.5等待合适时机
    11.9.6多线程和DirectX
    11.9.7高级多线程编程
    10.10小结

    第12章人工智能
    12.1人工智能初步
    12.2确定性AI算法
    12.2.1随机运动
    12.2.2跟踪算法
    12.2.3反跟踪:闪避算法
    12.3模式以及基本控制脚本的编写
    12.3.1基本模式
    12.3.2具备条件逻辑处理的模式
    12.4行为状态系统建模
    12.4.1基本状态机
    12.4.2加入更多表现个性的行为
    12.5用软件对记忆和学习进行建模
    12.6计划树和决策树
    12.6.1计划编程
    12.6.2实现真正的计划生成器
    12.7寻路
    12.7.1试探法(TrialandError)
    12.7.2轮廓跟踪
    12.7.3碰撞规避跟踪
    12.7.4路点寻路
    12.7.5一个赛车例子
    12.7.6可靠的寻路
    12.8高级AI脚本
    12.8.1设计脚本语言
    12.8.2使用C/C++编译器
    12.9人工神经网络
    12.10遗传算法
    12.11模糊逻辑
    12.11.1普通集合论
    12.11.2模糊集合理论
    12.11.3模糊语言变量及其规则
    12.11.4模糊流形与成员关系
    12.11.5模糊关联矩阵
    12.11.6用模糊化的输入处理FAM
    12.11.7暖融融
    12.12为游戏创造真正的AI
    12.13小结

    第13章基本物理建模
    13.1基本物理学定律
    13.1.1质量(m)
    13.1.2时间(t)
    13.1.3位置(s)
    13.1.4速率(v)
    13.1.5加速度(a)
    13.1.6力(F)
    13.1.7多维空间中的力
    13.1.8动量(P)
    13.2线性动量的物理性质:守恒与传递
    13.3模拟万有引力效果
    13.3.1模拟重力井
    13.3.2模拟炮弹弹道
    13.4讨厌的摩擦力
    13.4.1摩擦基本概念
    13.4.2斜面上的摩擦力(高级)
    13.5基本的特殊碰撞反应
    13.5.1简单的x,y反弹物理
    13.5.2计算任意方向上的平面碰撞反应
    13.5.3矢量反射示例
    13.5.4线段的交点
    13.6实际2D物体间的精确碰撞响应(高级)
    13.7解决n-t坐标系统
    13.8简单运动学
    13.8.1求解正向运动学问题
    13.8.2解决反向运动学问题
    13.9粒子系统
    13.9.1每颗粒子都需要的东西
    13.9.2设计粒子引擎
    13.9.3粒子引擎软件
    13.9.4产生初始条件
    13.9.5整合微粒系统
    13.10创建游戏的物理模型
    13.10.1物理建模的数据结构
    13.10.2基于帧的模拟与基于时间的模拟
    13.11小结

    第14章文字时代
    14.1什么是文字游戏
    14.2文字游戏如何工作
    14.3从外部世界获得输入
    14.4语言分析和解析
    14.4.1词法分析
    14.4.2句法分析
    14.4.3语义分析
    14.5组成游戏世界
    14.5.1表示场景
    14.5.2放置物体
    14.5.3让事情发生
    14.5.4自由移动
    14.5.5物品系统
    14.6实现视觉、听觉和嗅觉
    14.6.1听觉
    14.6.2嗅觉
    14.6.3视觉
    14.7实时响应
    14.8错误处理
    14.9造访ShadowLand
    14.10ShadowLand中使用的语言
    14.11编译和运行ShadowLand
    14.12小结

    第15章综合运用
    15.1Outpost的设计初稿
    15.1.1游戏背景
    15.1.2设计游戏玩法
    15.2用于编写游戏的工具
    15.3游戏场景:在太空中卷动
    15.4玩家控制的飞船:鬼怪号
    15.5小行星带
    15.6敌人
    15.6.1边哨(Outpost)
    15.6.2捕食者太空雷
    15.6.3战舰
    15.7“宝物”
    15.8HUD
    15.9粒子系统
    15.10玩游戏
    15.11编译Outpost
    15.12结束语

    第四部分附录
    附录A光盘内容简介
    附录B安装DirectX和使用C/C++编译器
    附录C数学和三角学回顾
    附录DC++入门
    附录E游戏编程资源
    附录FASCII表
  • 内容简介:
    《Windows游戏编程大师技巧(第2版)》是著名游戏程序设计大师AndréLaMothe的代表作。
    全书分为4个部分,共计15章和6个附录。作者循循善诱地从程序设计的角度介绍了在Windows环境下进行游戏开发所需的全部知识,包括Win32编程以及DirectX中所有主要组件(包括DirectDraw、DirectSound、DirectInput和DirectMusic)。书中还用单独的章节详细讲授了2D图形学和光栅化技术、游戏算法、多线程编程、文本游戏和解析、人工智能(包括模糊逻辑、神经网络和遗传算法)、物理建模(完全碰撞反应、动量传递和正反向运动学)及实时模拟等游戏程序开发中的关键技术。附录部分介绍了本书光盘的内容,如何安装DirectX,回顾了数学和三角学的基础知识、C++编程的基础知识,还给出了游戏编程资源以及ASCII表。
    《Windows游戏编程大师技巧(第2版)》所附光盘上带有本书中所有程序的源代码、关于Direct3D和General3D的文章和在线书籍以及众多免费的素材。
    《Windows游戏编程大师技巧(第2版)》适合想要学习Windows游戏编程的人员阅读,对于有一定经验的专业游戏开发人员,也具有较高的参考价值。
  • 作者简介:
      本书作者AndreLaMothe有25年的计算行业从业经验,拥有数学、计算机科学和电子工程等学位,是20岁时就在NASA做研究工作的少数几人之一。作者的著作以及参与策划的套系,都成为游戏设计和开发领域的经典。
  • 目录:
    第一部分Windows编程基础
    第1章学海无涯
    1.1历史一瞥
    1.2设计游戏
    1.3游戏类型
    1.4集思广益
    1.5设计文档和情节串联图板
    1.6使游戏具有趣味性
    1.7游戏的构成
    1.8常规游戏编程指导规范
    1.9使用工具
    1.10从准备到完成——使用编译器
    1.11示例:FreakOut
    1.12小结

    第2章Windows编程模型
    2.1Windows的起源
    2.1.1早期版本的Windows
    2.1.2Windows3.x
    2.1.3Windows95
    2.1.4Windows98
    2.1.5WindowsME
    2.1.6WindowsXP
    2.1.7WindowsNT/2000
    2.1.8Windows基本架构:Win9X/NT
    2.2多任务和多线程
    2.2.1获取线程的信息
    2.2.2事件模型
    2.3按照微软风格编程:匈牙利符号表示法
    2.3.1变量的命名
    2.3.2函数的命名
    2.3.3类型和常量的命名
    2.3.4类的命名
    2.3.5参数的命名
    2.4世界上最简单的Windows程序
    2.4.1总是从WinMain()开始
    2.4.2程序剖析
    2.4.3选择一个信息框
    2.5现实中的Windows应用程序
    2.6Windows类
    2.7注册Windows类
    2.8创建窗口
    2.9事件处理程序
    2.10主事件循环
    2.11产生一个实时事件循环
    2.12打开多个窗口
    2.13小结

    第3章高级Windows编程
    3.1使用资源
    3.1.1整合资源
    3.1.2使用图标资源
    3.1.3使用光标资源
    3.1.4创建字符串表资源
    3.1.5使用.WAV声音资源
    3.1.6使用编译器创建.RC文件
    3.2使用菜单
    3.2.1创建菜单
    3.2.2装载菜单
    3.2.3响应菜单事件消息
    3.3GDI(图形设备接口)简介
    3.3.1重拾WM_PAINT信息
    3.3.2视频显示基础和色彩(VideoDisplayBasicsandColor)
    3.3.3RGB和调色板模式
    3.3.4基本文本显示
    3.4处理重要事件
    3.4.1Windows操作
    3.4.2处理键盘事件
    3.4.3处理鼠标事件
    3.5自行发送消息
    3.6小结

    第4章WindowsGDI、控件和灵感
    4.1高级GDI绘图
    4.1.1掀开图形设备描述表的盖头来
    4.1.2颜色、画笔和画刷
    4.1.3使用画笔
    4.1.4使用画刷
    4.2点、线、平面多边形和圆
    4.2.1绘制点
    4.2.2绘制线段
    4.2.3绘制矩形
    4.2.4绘制圆
    4.2.5绘制多边形
    4.3深入文本和字体
    4.4定时高于一切
    4.4.1WM_TIMER消息
    4.4.2低层定时操作
    4.5使用控件
    4.5.1按钮
    4.5.2向子控件发送消息
    4.6获取信息
    4.7T3D游戏控制台程序
    4.8小结

    第二部分DirectX和2D基础
    第5章DirectX基础知识和令人生畏的COM
    5.1DirectX基础
    5.1.1HEL和HAL
    5.1.2更多的DirectX基础类
    5.2COM:是微软的杰作,还是魔鬼的杰作
    5.2.1COM对象究竟是什么
    5.2.2接口标识符和GUID的详细内容
    5.2.3创建一个类COM对象
    5.2.4COM的简要回顾
    5.2.5可运行的COM程序
    5.3应用DirectXCOM对象
    5.3.1COM和函数指针
    5.3.2创建和使用DirectX界面
    5.3.3接口查询
    5.4COM的前景
    5.5小结

    第6章初次邂逅DirectDraw
    6.1DirectDraw的接口
    6.1.1接口的特性
    6.1.2组合使用接口
    6.2创建DirectDraw对象
    6.2.1对DirectDraw进行错误处理
    6.2.2顺便提一下接口
    6.3与Windows协作
    6.4设置模式
    6.5色彩的奥秘
    6.6创建显示表面
    6.6.1创建一个主显示表面
    6.6.2关联调色板
    6.6.3绘制像素
    6.6.4清理资源
    6.7小结

    第7章高级DirectDraw和位图图形
    7.1使用高彩模式
    7.1.116位高彩模式
    7.1.2获取像素格式
    7.1.324/32位真彩色模式
    7.2双缓冲
    7.3表面动态
    7.4页面切换
    7.5显存块移动单元(Blitter)
    7.5.1使用Blitter进行内存填充
    7.5.2从一个表面向另一个表面复制位图
    7.6基础裁剪知识
    7.6.1将像素按视口裁剪
    7.6.2位图裁剪技巧
    7.6.3使用IDirectDrawClipper进行DirectDraw裁剪
    7.7使用位图
    7.7.1载入.BMP文件
    7.7.2使用位图
    7.7.3载入8位位图
    7.7.4载入16位位图
    7.7.5载入24位位图
    7.7.6总结位图
    7.8离屏表面
    7.8.1创建离屏表面
    7.8.2在离屏表面上进行Blitting
    7.8.3设置Blitter
    7.8.4色彩键
    7.8.5源色彩键
    7.8.6目标色彩键
    7.8.7使用Blitter(终于!)
    7.9位图的旋转和缩放
    7.10离散采样理论
    7.11色彩效果
    7.11.1256色模式下的色彩动画
    7.11.2256色模式下的色彩旋转
    7.11.3使用RGB模式的技巧
    7.12手动色彩变换及查询表
    7.13新的DirectX色彩和Gamma控制接口
    7.14将GDI和DirectX联用
    7.15DirectDraw的庐山真面目
    7.15.1主DirectDraw对象
    7.15.2关于表面
    7.15.3使用调色板
    7.16在窗口模式下使用DirectDraw
    7.17小结

    第8章矢量光栅化及2D变换
    8.1绘制线条
    8.1.1Bresenham算法
    8.1.2算法的速度优化
    8.2基本2D图形裁剪
    8.2.1利用点斜式计算两条直线的交点
    8.2.2利用一般式计算两条直线的交点
    8.2.3利用矩阵式计算两条直线的交点
    8.2.4裁剪直线
    8.2.5Cohen-Sutherland算法
    8.3线框多边形
    8.3.1多边形数据结构
    8.3.2多边形的绘制及裁剪
    8.42D平面里的变换
    8.4.1平移
    8.4.2旋转
    8.4.3缩放
    8.5矩阵引论
    8.5.1单位矩阵
    8.5.2矩阵加法
    8.5.3矩阵乘法
    8.5.4使用矩阵进行变换
    8.6平移
    8.7缩放
    8.8旋转
    8.9填充实心多边形
    8.9.1三角形和四边形类型
    8.9.2绘制三角形和四边形
    8.9.3三角形解构详述
    8.9.4四边形光栅化的一般性讨论
    8.9.5多边形的三角化
    8.10多边形碰撞检测
    8.10.1接近度、边界球/圆
    8.10.2边界盒
    8.10.3点包含
    8.11深入定时和同步
    8.12卷轴和摇镜头
    8.12.1页面卷轴引擎
    8.12.2均匀平铺(Tile)显示引擎
    8.12.3稀疏位图平铺显示引擎
    8.13伪3D等轴测引擎
    8.13.1方法1:基于单元,全二维
    8.13.2方法2:基于全屏,具有一些二维或三维的碰撞网络
    8.13.3方法3:采用全三维数学运算,使用一个固定的相机视角
    8.14T3DLIB1函数库
    8.14.1引擎架构
    8.14.2新的游戏编程控制台程序
    8.14.3基本定义
    8.14.4可用的宏
    8.14.5数据类型和结构
    8.14.6全局定义
    8.14.7DirectDraw接口
    8.14.82D多边形函数
    8.14.92D基本图元函数
    8.14.10数学和误差函数
    8.14.11位图函数
    8.14.12调色板函数
    8.14.13实用工具函数
    8.15BOB引擎
    8.16小结

    第9章DirectInput输入和力反馈
    9.1输入循环
    9.2DirectInput序曲
    9.2.1DirectInput组件
    9.2.2设置DirectInput的一般步骤
    9.2.3数据采集模式
    9.2.4创建主DirectInput对象
    9.2.5101键盘
    9.2.6读数据过程中的问题:重获取
    9.2.7捕捉鼠标
    9.2.8使用游戏杆
    9.2.9将输入消息化
    9.3力反馈
    9.3.1力反馈的物理原理
    9.3.2设置力反馈
    9.3.3力反馈演示程序
    9.4编写一个广泛适用的输入系统:T3DLIB2.CPP
    9.5小结

    第10章用DirectSound和DirectMusic演奏乐曲
    10.1在PC上对声音编程
    10.2从此有了声音…
    10.3数码声音与MIDI比较——音质好且存储省
    10.3.1数码声音——从“位”开始
    10.3.2合成声音与MIDI
    10.3.3MIDI概述
    10.4发声硬件
    10.4.1波表合成
    10.4.2波导合成
    10.5数码录音:设备和技术
    10.5.1录制声音
    10.5.2处理声音
    10.6DirectSound中的麦克风
    10.7初始化DirectSound
    10.7.1理解协作等级
    10.7.2设定协作等级
    10.8主声音缓冲区与辅助声音缓冲区
    10.8.1使用辅助缓冲区
    10.8.2创建辅助声音缓冲区
    10.8.3把数据写入辅助声音缓冲区
    10.9渲染声音
    10.9.1播放声音
    10.9.2停止播放
    10.9.3控制音量
    10.9.4调整频率
    10.9.5调整声道平衡
    10.10用DirectSound反馈信息
    10.11从磁盘中读取声音数据
    10.11.1.WAV文件格式
    10.11.2读取.WAV文件
    10.12DirectMusic:伟大的试验
    10.13DirectMusic的体系结构
    10.14初始化DirectMusic
    10.14.1初始化COM
    10.14.2创建一个演奏对象
    10.14.3给演奏对象增加端口
    10.15加载一个MIDI段
    10.15.1创建一个加载程序
    10.15.2加载MIDI文件
    10.16操作MIDI段
    10.16.1播放一个MIDI段
    10.16.2停止一个MIDI段
    10.16.3检查MIDI段的状态
    10.16.4释放一个MIDI段
    10.16.5关闭DirectMusic
    10.16.6一些DirectMusic的实例
    10.17T3DLIB3声音和乐曲库
    10.17.1头文件
    10.17.2类型
    10.17.3全局变量
    10.17.4DirectSoundAPI封装
    10.17.5DirectMusicAPI封装
    10.18小结

    第三部分核心游戏编程
    第11章算法、数据结构、内存管理和多线程
    11.1数据结构
    11.1.1静态结构和数组
    11.1.2链表
    11.2算法分析
    11.3递归
    11.4树结构
    11.4.1建立二分查找树(BST)
    11.4.2搜索BST
    11.5优化理论
    11.5.1运用你的头脑
    11.5.2数学技巧
    11.5.3定点运算
    11.5.4循环体展开
    11.5.5查找表
    11.5.6汇编语言
    11.6制作演示
    11.6.1预先记录的演示
    11.6.2由人工智能控制的演示
    11.7保存游戏的手段
    11.8实现多人游戏
    11.8.1轮流
    11.8.2分屏
    11.9多线程编程技术
    11.9.1多线程编程的术语
    11.9.2为何要在游戏中使用线程
    11.9.3取得一个线程
    11.9.4线程间的消息传递
    11.9.5等待合适时机
    11.9.6多线程和DirectX
    11.9.7高级多线程编程
    10.10小结

    第12章人工智能
    12.1人工智能初步
    12.2确定性AI算法
    12.2.1随机运动
    12.2.2跟踪算法
    12.2.3反跟踪:闪避算法
    12.3模式以及基本控制脚本的编写
    12.3.1基本模式
    12.3.2具备条件逻辑处理的模式
    12.4行为状态系统建模
    12.4.1基本状态机
    12.4.2加入更多表现个性的行为
    12.5用软件对记忆和学习进行建模
    12.6计划树和决策树
    12.6.1计划编程
    12.6.2实现真正的计划生成器
    12.7寻路
    12.7.1试探法(TrialandError)
    12.7.2轮廓跟踪
    12.7.3碰撞规避跟踪
    12.7.4路点寻路
    12.7.5一个赛车例子
    12.7.6可靠的寻路
    12.8高级AI脚本
    12.8.1设计脚本语言
    12.8.2使用C/C++编译器
    12.9人工神经网络
    12.10遗传算法
    12.11模糊逻辑
    12.11.1普通集合论
    12.11.2模糊集合理论
    12.11.3模糊语言变量及其规则
    12.11.4模糊流形与成员关系
    12.11.5模糊关联矩阵
    12.11.6用模糊化的输入处理FAM
    12.11.7暖融融
    12.12为游戏创造真正的AI
    12.13小结

    第13章基本物理建模
    13.1基本物理学定律
    13.1.1质量(m)
    13.1.2时间(t)
    13.1.3位置(s)
    13.1.4速率(v)
    13.1.5加速度(a)
    13.1.6力(F)
    13.1.7多维空间中的力
    13.1.8动量(P)
    13.2线性动量的物理性质:守恒与传递
    13.3模拟万有引力效果
    13.3.1模拟重力井
    13.3.2模拟炮弹弹道
    13.4讨厌的摩擦力
    13.4.1摩擦基本概念
    13.4.2斜面上的摩擦力(高级)
    13.5基本的特殊碰撞反应
    13.5.1简单的x,y反弹物理
    13.5.2计算任意方向上的平面碰撞反应
    13.5.3矢量反射示例
    13.5.4线段的交点
    13.6实际2D物体间的精确碰撞响应(高级)
    13.7解决n-t坐标系统
    13.8简单运动学
    13.8.1求解正向运动学问题
    13.8.2解决反向运动学问题
    13.9粒子系统
    13.9.1每颗粒子都需要的东西
    13.9.2设计粒子引擎
    13.9.3粒子引擎软件
    13.9.4产生初始条件
    13.9.5整合微粒系统
    13.10创建游戏的物理模型
    13.10.1物理建模的数据结构
    13.10.2基于帧的模拟与基于时间的模拟
    13.11小结

    第14章文字时代
    14.1什么是文字游戏
    14.2文字游戏如何工作
    14.3从外部世界获得输入
    14.4语言分析和解析
    14.4.1词法分析
    14.4.2句法分析
    14.4.3语义分析
    14.5组成游戏世界
    14.5.1表示场景
    14.5.2放置物体
    14.5.3让事情发生
    14.5.4自由移动
    14.5.5物品系统
    14.6实现视觉、听觉和嗅觉
    14.6.1听觉
    14.6.2嗅觉
    14.6.3视觉
    14.7实时响应
    14.8错误处理
    14.9造访ShadowLand
    14.10ShadowLand中使用的语言
    14.11编译和运行ShadowLand
    14.12小结

    第15章综合运用
    15.1Outpost的设计初稿
    15.1.1游戏背景
    15.1.2设计游戏玩法
    15.2用于编写游戏的工具
    15.3游戏场景:在太空中卷动
    15.4玩家控制的飞船:鬼怪号
    15.5小行星带
    15.6敌人
    15.6.1边哨(Outpost)
    15.6.2捕食者太空雷
    15.6.3战舰
    15.7“宝物”
    15.8HUD
    15.9粒子系统
    15.10玩游戏
    15.11编译Outpost
    15.12结束语

    第四部分附录
    附录A光盘内容简介
    附录B安装DirectX和使用C/C++编译器
    附录C数学和三角学回顾
    附录DC++入门
    附录E游戏编程资源
    附录FASCII表
查看详情
其他版本 / 全部 (2)
12
好书推荐 / 更多
Windows游戏编程大师技巧
古代中国文化讲义
葛兆光 著
Windows游戏编程大师技巧
历史的坏脾气:晚近中国的另类观察(增订版)
张鸣
Windows游戏编程大师技巧
清朝大历史(精)
常建华 著
Windows游戏编程大师技巧
里程碑文库|摩天大楼:始于芝加哥的摩登时代
[英]丹·克鲁克香克 著;高银 译
Windows游戏编程大师技巧
终结所有和平的和平
戴维·弗罗姆金 著;栾力夫 译
Windows游戏编程大师技巧
本雅明档案
瓦尔特·本雅明档案馆 编;李士勋 译
Windows游戏编程大师技巧
亚马逊效应
[美]娜塔莉·伯格(Natalie Berg);[美]米娅·奈茨(Miya Knights)
Windows游戏编程大师技巧
衣柜(诺贝尔文学奖得主奥尔加·托卡尔丘克小说集)
[波兰]奥尔加·托卡尔丘克 著
Windows游戏编程大师技巧
给樱桃以性别
[英]珍妮特·温特森 著;新经典 出品
Windows游戏编程大师技巧
背叛(布克奖全美书评家协会奖,《纽约时报》十大好书)
保罗.比第 著;邓晓菁 译
Windows游戏编程大师技巧
防风林的外边
黄启泰 ;后浪
Windows游戏编程大师技巧
单行道/本雅明作品系列
[德]瓦尔特·本雅明 著;姜雪 译