OpenGL 游戏编程(附光盘)

分类: 图书,计算机/网络,图形图像 多媒体,游戏开发/多媒体/课件设计,
作者: 徐明亮,卢红星,王琬编著
出 版 社: 机械工业出版社
出版时间: 2008-1-1字数:版次: 1页数: 392印刷时间: 2008/01/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111226703包装: 平装编辑推荐
3D游戏是当前游戏的主流,对于初学者来说,其核心技术就是3D图形编程。长久以来。,OpenGL都是3D游戏开发领域的主流开发包之一,也是开发者追逐顶尖技术的利器。
与DirectX相比,OpenGL一语言简单易懂,前后版本的兼容性也比较好,对于希望进入游戏开发。3D图形处理、模拟仿真、虚拟现实等领域的初学者来说,学习OperlGL一是他们最好的起点。基于此,本书将在游戏开发的背景下,舍弃OperlGL中与游戏开发关联不大的琐碎知识细节,引导读者快速掌握游戏开发中所必须掌握的最重要、最实用的概念、原理和编程技巧,事半功倍地进入游戏开发领域。
本书特色:
参阅了国内外大量最新的图形开发和游戏编程方面的资料,所讲解的内容都依据图形开发领域的成熟方法和技术。
所有的例子都共用一个在实际项目中经过严格测试的方便、稳定、实用的程序框架,该框架提供两个版本:面向过程的传统Wirl32 API风格和更方便实用的面向对象风格,读者只要具有C/C++和图形学基本知识就可以看懂。
全书代码保持一种良好的编码风格,提供清晰的注释和规范的UML一设计。
所有实例都力求实用、新颖、有趣,并取材于实际项目,具有极高的可复用价值,完全能在实际项目中“即插即用”。
涵盖游戏开发、仿真系统、多媒体应用等主要图形应用领域。
实例中深度剖析一些目前市面图书中所从未涉及的实用技术细节。
内容简介
本书讲解OpenGL的游戏开发中的实用技术。主要内容包括:游戏开发快速入门、OpenGL程序框架、OpenGL变换、OpenGL光照、材质和纹理、OpenGL字体、摄像漫游、构造开空和地形、模型载入、实时阴影、DirectInput的使用、DirectSound的使用、游戏中的物理模拟、粒子系统、构造游戏引擎、3DRPG游戏、Quake室内场景实例等。本书讲解清晰,言简意赅,提供大量原创实例。可帮助读者快速进入游戏开发领域。
本书适合游戏编程的初学者参考。
作者简介
徐明亮,郑州大学硕士研究生毕业,曾在大学生挑战杯科技竞赛中以“3D MMO网络游戏通用引擎”项目获奖。读研期间,研究方向为游戏引擎与游戏人工智能,先后参与了游戏A吲擎、山盟网络休闲游戏平台、3D虚拟酒吧、专业围棋网络对弈平台等项目的研发工作,并在相关会议和期刊上发表多篇有关游戏引擎的论文。
目录
序
前言
作者简介
第1章游戏开发快速入门
1.1游戏软件开发概述
1.1.1游戏软件开发流程
1.1.2游戏软件的构成
1.1.3游戏软件的运行原理
1.2OpenGL与DirectX简介
1.2.1OpenGL基础知识
1.2.2DirectX基础知识
1.33D图形学快速入门
1.3.1点和向量
1.3.2坐标系与矩阵
1.3.33D图形处理流程
1.3.4坐标变换
第2章OpenGL.程序框架
2.1窗口渲染环境
2.1.1GDI设备环境
2.1.2OpenGL渲染环境
2.2创建Win32SDK风格的窗口
2.3面向对象风格的窗口框架
2.3.1窗口类GLWindow的设计及实现
2.3.2键盘类Keys的设计与实现
2.3.3应用程序类GIApplication的设计与实现
2.3.4一个简单的实例
第3章OpenGL变换
3.1OpenGL的数据类型
3.2函数命名的语法
3.3OpenGL是种状态机
3.4OpenGL变换
3.4.1视点变换
3.4.2模型变换
3.4.3投影变换
3.4.4视口变换
3.4.5裁剪变换
3.4.6矩阵堆栈
3.5OpenGL变换实例
第4章OpenGL光照、材质和纹理
4.1真实感图形基本概念
4.2OpenGL光照模型
4.2.1法线向量
4.2.2创建光源
4.2.3选择光照模型
4.2.4光照实例
4.3材质
4.3.1材质RGB值与光源RGB值的关系
4.3.2材质的定义
4.3.3颜色材质模式
4.3.4材质实例
4.4纹理映射
4.4.1纹理资源的载入
4.4.2OpenGL纹理映射
4.4.3OpenGL多重纹理
第5章OpenGL字体
5.1位图字体
5.1.1位图字体类
5.1.2具体实现
5.1.3实例
5.2显示中文
5.2.1字体类
5.2.2具体实现
5.2.3实例
第6章摄像漫游
6.1漫游原理
6.2准备工作
6.3摄像机类
6.4摄像漫游实例
第7章构造天空和地形
7.1天空构造
7.1.1天空盒原理
7.1.2天空类实现
7.2地形
7.2.1地形构造原理
7.2.2地形类实现
7.3实例
第8章模型载入
8.13DS文件载入
8.1.13DS文件简介
8.1.2准备工作
8.1.3载入类定义
8.1.43DS文件载入实例
8.2MD2文件载入
8.2.1MD2文件简介
8.2.2准备工作
8.2.3MD2文件载入类
8.2.4MD2文件载入实例
第9章实时阴影
9.1简介
9.2实时阴影
9.2.1平面投射
9.2.2阴影体
9.3平面投射实例
9.4阴影体实例
第10章Directlnput的使用
10.1Directlnput简介
10.2Directlnput的使用
10.2.1安装和配置DirectX9.0
10.2.2创建Directlnput接口对象
10.2.3创建设备对象
10.2.4设置设备的数据格式
10.2.5设置设备的协作层次
10.2.6设置设备的属性
10.2.7设备的捕获
10.2.8设备输入的获取
10.2.9关闭
10.3建立输入系统
10.3.1键盘类CKeyboard
10.3.2鼠标类CMouse
10.3.3游戏杆类CJoystick
10.3.4输入系统类CInputSystem
10.4DirectSound应用实例
10.4.1键盘实例
10.4.2鼠标实例
第11章DirectSound的使用
11.1声音的基础知识
11.2DirectSound介绍
11.3DirectSound的使用
11.3.1创建DirectSound对象
11.3.2设置设备的协作级别
11.3.3创建主缓冲区
11.3.4创建辅助缓冲区
11.3.5加载声音数据
11.3.6声音的播放与控制
11.43D音效
11.4.13D空间与缓冲区
11.4.2最大最小距离
11.4.3处理模式
11.4.4声音圆锥
11.4.5声源的创建
11.4.6听者对象的创建
11.5封装音频处理模块
11.6音频实例
第12章游戏中的物理模拟
12.1物理学基础知识
12.1.1基本概念
12.1.2牛顿运动定律
12.1.3冲量、动量
12.2物理规律的模拟
12.2.1匀速运动模拟
12.2.2平抛运动模拟
12.2.3摩擦力模拟
12.3碰撞检测
12.3.1碰撞检测概述
12.3.2碰撞检测
12.3.3碰撞检测实例
第13章粒子系统
13.1粒子系统简介
13.1.1概述
13.1.2分类
13.1.3粒子系统的生命周期
13.2粒子系统设计
13.2.1形式描述
13.2.2数据结构
13.3粒子系统的实现
13.4粒子系统实例l——雪花
13.5粒子系统实例2——喷泉
第14章构造游戏引擎
14.1游戏引擎简介
14.2游戏引擎的体系结构
14.3基础公用模块
14.3.1基础结构和操作
14.3.2数学运算模块
14.3.3计时器CT'imer类
14.3.4字体类
14.3.5摄像机类
14.3.6INI文件读取类
14.4窗口引擎模块
14.5输入系统模块
14.5.1输入法IME编程
14.5.2输入系统类
14.6场景管理模块
14.6.1对象管理模块
14.6.2游戏场景模块
14.6.3场景管理模块
14.7资源管理模块
14.8GuI界面设计模块
14.8.1GUI模块构架
14.8.2按钮类CButton
14.8.3复选框类CCheckBox
14.8.4文本编辑类Edit
14.8.5对话框类Dialog
14.8.6滚动条类CScrollBar’
14.8.7列表框类L,istView
14.8.8进度条类CProgressBar
14.8.9小地图类MapView
14.9消息系统模块
14.10音频系统模块
14.11粒子特效模块
第15章3DRPG游戏
15.1游戏简介
15.2角色设计
15.3加入怪物
15.4游戏场景
15.5光标动画
15.6游戏界面
15.7运行界面
第16章Quake室内场景实例
16.1BSP技术
16.1.1为什么要使用:BSP
16.1.2BSP原理
16.1.3渲染BSP
16.2隐藏面剔除
16.3Quake室内场景绘制
16.3.1Quake3BSP文件格式
16.3.2Quake3BSP文件的载入
16.3.3运行结果
第17章指环王动画特效
17.1实例介绍
17.2关键技术
17.2.1ASE模型读取
17.2.2火焰的绘制
17.2.3场景的绘制
