标题：精通C#游戏编程
基本信息
出版社: 清华大学出版社; 第1版 (2012年1月1日) 
作者:斯库勒
  精通C#游戏编程[1]译者:张磊,李苏军
外文书名: C# Game Programming: For Serious Game Creation 
丛书名: 游戏开发经典丛书 
平装: 345页 
正文语种: 简体中文 
开本: 16 
ISBN: 9787302271147 
条形码: 9787302271147 
ASIN: B006TSXOBY
内容简介
本书通过引导读者创建一个基本的游戏，展示了如何使用c#和OpenGL一步步地开发出简单、整洁而可靠的代码。C#是一种高级编程语言，而OpenGL是业界显示图形最常用的方法。本书概述了创建优秀游戏项目时采用的方法和库，讨论了如何如何使用这些库和创建自己的库，最后帮助读者创建自己的射击类游戏。书中还提供了关于如何实现自己的游戏想法的提示和信息，以及可以采用的代码库，从而帮助读者将自己的游戏想法从概念变为现实。 
本书配套资料中附有书中会用到的所有源代码、游戏资源以及有用的游戏开发网站和图形开发网站的链接。
编辑推荐
《精通C#游戏编程》为游戏开发经典丛书之一。
作者简介
作者：（英国）斯库勒（Daniel Schuller） 译者：张磊 李苏军
斯库勒（Daniel Schuller），生于英国，是一名计算机游戏开发人员，曾在美国、新加坡和日本工作和生活，目前在英国工作。他在PC、Xbox 360和PlayStation 3上发布过游戏。Schuller为Sony、Ubisoft、Naughty Dog、RedBull和Wizards of the Coast开发过游戏，并运营着一个游戏开发网站。除了开发计算机游戏，Schuller还在学习日文，并对人工智能、认知科学和游戏在教育中的作用非常感兴趣。
目录
第Ⅰ部分 背景知识 
第1章 c#的历史 3 
1.1 c#基础 3 
1.2 小结 14 
第2章 opengl简介 15 
2.1 opengl的架构 16 
2.1.1 顶点：3d图形的基础 16 
2.1.2 流水线 17 
2.2 变化中的opengl 19 
2.2.1 opengl es 19 
2.2.2 webgl 19 
2.3 opengl和图形卡 20 
2.4 tao框架 21 
2.5 小结 23 
第3章 现代方法 25 
3.1 实效编程 25 
3.1.1 游戏编程中的陷阱 25 
3.1.2 kiss 26 
3.1.3 dry 26 
3.1.4 源代码控制 30 
3.1.5 单元测试 32 
3.2 小结 37 
第Ⅱ部分 实现 
第4章 设置 41 
4.1 visual studio express—— c#可以使用的免费ide 41 
4.1.1 hello world程序 42 
4.1.2 关于visual studio express的提示 44 
4.2 subversion 50 
4.2.1 获取 51 
4.2.2 安装 51 
4.2.3 创建源代码控制库 51 
4.2.4 添加到库中 52 
4.2.5 历史记录 56 
4.2.6 扩展hello world 56 
4.3 tao 58 
4.4 nunit 58 
4.4.1 在项目中使用nunit 59 
4.4.2 运行测试 61 
4.4.3 示例项目 63 
4.5 小结 66 
第5章 游戏循环和图形 67 
5.1 游戏的工作方式 67 
5.2 使用c#实现一个快速的游戏循环 68 
5.3 图形 76 
5.3.1 全屏模式 79 
5.3.2 渲染 79 
5.4 小结 84 
第6章 游戏结构 87 
6.1 游戏对象的基本模式 87 
6.2 处理游戏状态 88 
6.3 游戏状态演示 93 
6.4 使用投影设置场景 95 
6.4.1 字体大小和opengl视口大小 95 
6.4.2 宽高比 96 
6.4.3 投影矩阵 97 
6.4.4 2d图形 97 
6.5 精灵 100 
6.5.1 定位精灵 103 
6.5.2 使用四方形管理纹理 104 
6.5.3 纹理精灵 109 
6.5.4 alpha混合精灵 111 
6.5.5 颜色调制精灵 113 
6.5.6 sprite类和render类 113 
6.5.7 使用sprite类 119 
第7章 渲染文本 121 
7.1 字体纹理 121 
7.2 字体数据 124 
7.2.1 解析字体数据 125 
7.2.2 使用characterdata 126 
7.3 渲染文本 129 
7.3.1 计算fps 130 
7.3.2 垂直同步和帧率 132 
7.3.3 性能分析 133 
7.4 优化text类 133 
7.5 使用gldrawarrays进行快速渲染 138 
7.5.1 修改渲染器 140 
7.5.2 对批(batch)绘制方法执行性能分析 141 
7.6 小结 141 
第8章 游戏数学 143 
8.1 三角函数 143 
8.1.1 绘制图形 143 
8.1.2 使用三角函数实现特殊效果 147 
8.2 向量 150 
8.2.1 向量的定义 150 
8.2.2 长度操作 151 
8.2.3 向量的相等性 152 
8.2.4 向量加法、减法和乘法 153 
8.2.5 法向量 157 
8.2.6 点积运算 159 
8.2.7 叉积运算 162 
8.2.8 关于向量结构的最后一点内容 163 
8.3 二维相交 164 
8.3.1 圆 164 
8.3.2 矩形 169 
8.4 补间 172 
8.4.1 补间概述 172 
8.4.2 tween类 173 
8.4.3 使用补间 176 
8.5 矩阵 178 
8.5.1 矩阵的定义 178 
8.5.2 单位矩阵 179 
8.5.3 矩阵乘法和矩阵与向量的乘法 181 
8.5.4 平移和缩放 182 
8.5.5 旋转 183 
8.5.6 求逆矩阵 184 
8.5.7 对精灵执行矩阵操作 185 
8.5.8 修改精灵来使用矩阵 187 
8.5.9 优化 189 
第9章 创建游戏引擎 191 
9.1 新的游戏引擎项目 191 
9.2 扩展游戏引擎 194 
9.2.1 在项目中使用游戏引擎 194 
9.2.2 多个纹理 202 
9.3 添加声音支持 205 
9.3.1 创建声音文件 205 
9.3.2 开发soundmanager 206 
9.4 改进输入 215 
9.4.1 包装游戏控制器 215 
9.4.2 添加更好的鼠标支持 229 
9.4.3 添加键盘支持 236 
第10章 创建一个简单的卷轴射击游戏 241 
10.1 一个简单的游戏 241 
10.2 第一遍实现 242 
10.2.1 开始菜单的状态 246 
10.2.2 游戏主体状态 257 
10.2.3 游戏结束状态 260 
10.3 开发游戏主体 263 
10.3.1 移动玩家角色 263 
10.3.2 使用卷动背景模拟移动 268 
10.3.3 添加一些简单的敌人 271 
10.3.4 添加简单的武器 279 
10.3.5 伤害和爆炸 288 
10.3.6 管理爆炸和敌人 295 
10.3.7 定义关卡 301 
10.3.8 敌人的移动 304 
10.3.9 敌人攻击 315 
10.4 继续迭代 319 
第11章 创建自己的游戏 323 
11.1 项目管理 323 
11.2 显示方法 325 
11.2.1 2d游戏 325 
11.2.2 3d游戏 325 
11.3 游戏类型 328 
11.3.1 文字类游戏 328 
11.3.2 益智游戏 330 
11.3.3 第一人称射击游戏 332 
11.3.4 策略游戏 333 
11.3.5 角色扮演游戏 334 
11.3.6 平台游戏 339 
11.4 结束语 341 
附录a 推荐阅读材料 343