与传统的应用软件编程相比,网络游戏编程具有自己鲜明的特点:更加强调计算机图形学的知识和计算机资源的高效利用。相比其他3D编程的书籍,本书最基本的一个优点就是内容的全面性。本书的内容涵盖了3D网络游戏编程的基本知识,从基本的计算机图形学到3D图形编程开发包的使用,直到最后的游戏算法研究,可以说,只要是3D网络游戏客户端中涉及到的知识,都能够通过本书的学习找到答案。
《网络游戏客户端编程》全书介绍了网络游戏客户端编程的基本知识,全书的内容可以分为三个部分:
第一部分为基础部分,主要介绍3D图形编程的基础知识,包括计算机图形学基础、Direct3D图形开发包基本API学习、DirectInput开发包API学习、DirectAudio、DirectShow开发包API学习。读者学习本部分后能熟练使用DirectX开发包进行3D图形编程。
第二部分为提升部分,主要介绍如何灵活应用Direct3D的基本知识点,实现游戏中的某些特殊效果,同时深入学习HLSL的知识,适应显卡技术的高速发展。
第三部分:算法阶段,对游戏中的一些常用的算法进行研究,包括物理模拟、人工智能、碰撞检测以及场景划分,读者学后能熟悉游戏中的常用算法,对引擎的底层部分也能有所了解。
第1章 计算机图形学基础
1.1 3D图形学概述
1.1.1 计算机图形学基础
1.1.2 计算机图形显示技术
1.1.3 计算机图形处理器
1.1.4 显卡发展史
1.2 向量
1.2.1 向量的概念
1.2.2 坐标系
1.2.3 向量的运算
1.3 矩阵
1.3.1 矩阵的概念
1.3.2 矩阵的运算
1.3.3 齐次坐标
1.4 图形几何变换
1.4.1 图形几何变换的意义
1.4.2 二维图形的几何变换
1.4.3 三维图形的几何变换
1.5 四元数
1.5.1 复数理论
1.5.2 四元数的运算
1.5.3 四元数在图形学中的应用
本章小结
自测习题
课后作业
第2章 DirectX基础
2.1 DirectX介绍
2.1.1 DirectX及其历史
2.1.2 DirectX开发库
2.1.3 DirectX编程约定和命名规范
2.1.4 DirectX环境配置
2.2 D3D相关概念
2.2.1 HAL和COM
2.2.2 D3D中的基础概念
2.2.3 空间的概念
2.3 T&L渲染流水线
2.3.1 T&L的概念
2.3.2 空间转换
2.3.3 照明与投影
2.3.4 投影后的处理
2.3.5 渲染中的数据存储
2.4 D3D中的图元
2.4.1 D3D中图元(Primitive)的概念
2.4.2 图元类型
2.5 D3D程序基本框架
2.5.1 初始化Direct3D程序
2.5.2 图形显示
本章小结
自测习题
课后作业
第3章 绘制基本图形
……
第4章 实现基本光照与纹理
第5章 使用网格模型
第6章 实现基本游戏特效
第7章 实现游戏实时阴影
第8章 实现游戏控制
第9章 实现游戏音乐与音效
第10章 建立基本游戏场景
第11章 HLSL语言基础
第12章 Direct3D与HLSL
第13章 HLSL基本应用
第14章 寻路算法
第15章 人工智能
第16章 物理模拟
第17章 碰撞检测
第18章 LOD地形渲染