注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络游戏设计OpenGL游戏程序设计

OpenGL游戏程序设计

OpenGL游戏程序设计

定 价:¥59.00

作 者: (美)K.霍金, (美)D.阿斯特著;田昱川译
出版社: 科学出版社
丛编项: 国外游戏开发丛书
标 签: 图形软件

购买这本书可以去


ISBN: 9787030166166 出版时间: 2006-03-01 包装: 平装
开本: 16开 页数: 550 字数:  

内容简介

  本书重点介绍了如何使用高性能的OpenGL图形与游戏函数库来开发游戏的视频部分。为了让读者了解创建一个游戏的全部过程,书中还包含了DirectX的内容。本书是涵盖这两方面内容的极少书籍之一。在本书中,首先介绍了OpenGL和DirectX的产生背景,对它们的工作机理给出一个总体的描述,然后着重介绍了OpenGL最有可能应用于游戏开发的技术。再后,介绍了如何把所有的技术结合在一起,搭建一个自己的游戏框架,用OpenGL做图形系统部分,用DirectSound和Directlnout做声音和设备输入系统部分。最后,本书将介绍如何利用这个游戏框架和本书所涵盖的各种技术来创建一个完整的3D游戏。本书是学习使用OpenGL进行3D游戏设计的一个很实用的资料,非常适合打算进行游戏开发的程序员使用,也适合其他3D应用程序开发的程序员使用。 第1篇 OpenGL和Directx的介绍第1章 而今迈步从头越:OpenGL和Directx第2章 Windows操作系统平台年的OpenGL编程 第3章 3D图形学的理论概览第2篇使用OpenGL第4章 OpenGL状态和图元第5章 坐标变换和OpenGL矩阵第6章 添加颜色、混合和光照第7章 位图、图像与OpenGL第8章 纹理映射第9章 高级纹理映射第10章 显示列表与顶点数组第11章 文本的显示 第12章 OpenGL缓存第13章 OpenGL二次曲面第14章 曲线与曲面第15章 特殊效果第3篇建立一个游戏第16章 OpenGL的使用:Direct Input第17章 DircetX Audio使用第18章 3D模型处理第19章 OpenGL物理建模第20章 建立一个游戏引擎第21章 创建一个游戏:杀戮时刻 第4篇附录附录A 在线资源 附录B 随书所附资料的使用

作者简介

暂缺《OpenGL游戏程序设计》作者简介

图书目录

第1篇 OpenGL和DirectX的介绍
第1章 而今迈步从头越--OpenGL和Directx
1.1 开发游戏需要理由吗
1.2 3D游戏世界
1.3 游戏的元素
1.4 开发工具
1.5 什么是openGL
1.5.1 OpenGL的历史
1.5.2 OpenGL的体系结构
1.5.3 OpenGL实用库
1.5.4 什么是GLUT
1.5.5 轻松一瞥
1.6 什么是DirectX
1.6.1 DirectX的历史
1.6.2 DirectX体系结构
1.7 0penGL与DirectX
本章小结
第2章 Windows操作系统平台上的OpenGL编程
2.1 Windows编程介绍
2.1.1 Windows应用程序基础
2.1.2从WinMain()开始
2.1.3 Windows Procedure
2.1.4 窗口类
2.1.5 窗口类的注册
2.1.6 窗口的创建
2.1.7 消息循环
2.1.8 一个完整的Windows应用程序
2.2 WGL介绍
2.2.1 绘制环境
2.2.2 WGL的使用
2.3 像素格式
2.3.1 nSize
2.3.2 dwFlag
2.3.3 iPixel lype
2.3.4 cColorBits
2.4 0penGL windOWS应用程序
2.5 全屏OpenGL
本章小结
第3章 3D图形学理论概览
3.1 标量、点和矢量
3.1.1 矢量的大小
3.1.2 矢量的归一化
3.1.3 矢量加法运算
3.1.4 矢量与标量的乘法运算
3.1.5 点积运算
3.1.6 叉积运算
3.2 矩阵
3.2.1 单位矩阵
3.2.2 零矩阵
3.2.3 矩阵加法和减法运算
3.2.4 矩阵乘法运算
3.2.5 矩阵的总体实现
3.3 变换
3.3.1 平移变换
3.3.2 旋转变换
3.3.3 缩放变换
3.4 投影
3.4.1 平行投影
3.4.2 透视投影
3.5 3D剪裁
3.6 光照
3.6.1 环境光
3.6.2 散射光
3.6.3 镜面反射光
3.7 纹理映射
本章小结
第2篇 使用OpenGL
第4章 OpenGL状态和图元
4.1 状态函数
4.2 图元的处理
4.2.1 3D空间中点的绘制
4.2.2 3D空间中线的绘制
4.2.3 3D空间中的多边形的绘制
4.2.4 图元的使用
本章小结
第5章 坐标变换和OpenGL矩阵
5.1 理解坐标变换
5.1.1 视点和眼坐标
5.1.2 视图变换
5.1.3 模型变换
5.1.4 投影变换
5.1.5 视区变换
5.2 OpenGL和矩阵
5.2.1 模型视图矩阵
5.2.2 平移变换
5.2.3 旋转变换
5.2.4 缩放变换
5.2.5 矩阵堆栈
5.2.6 机器人例程
5.3 投影变换
5.3.1 正交投影变换
5.3.2 透视投影变换
5.3.3 视区的设置
5.3.4 投影变换实例
5.4 白定义矩阵的使用
5.4.1 自定义矩阵的载入
5.4.2 矩阵的乘法运算
5.4.3 自定义矩阵的实例
本章小结
第6章 添加颜色、混合与光照
6.1 颜色是如何工作的
6.2 在OpenGL中使用颜色
6.2.1 颜色深度
6.2.2 颜色立方体模型
6.2.3 OpenGL中的RGBA模式
6.2.4 OpenGL中的颜色索引模式
6.3 明暗处理
6.4 OpenGL中的光照
6.4.1 OpenGL光照和现实世界
6.4.2 材质
6.4.3 法线
6.4.4 OpenGL光照的使用
6.5 颜色混合
透明度
本章小结
第7章 位图、图像与OpenG L..
7.1 0penGL位图
7.1.1 位图的定位
7.1.2 位图的绘制
7.1.3 一个OpenGL位图例程
7.2 图像的使用
7.2.1 图像数据的绘制
7.2.2 屏幕的读取
7.2.3 屏幕数据的复制
7.2.4 放大、缩小和翻转
7.3 像素存储的管理
7.4 WindOWS位图
7.4.1 BMP文件格式
7.4.2 BMP文件的载入
7.4.3 BMP文件的输
7.5 Targa图像文件
7.5.1 Targa文件格式
7.5.2 Targa文件的载入
7.5.3 Targa文件的输出
本章小结
第8章 纹理映射
8.1 纹理映射的概览
8.2 纹理图的应用
8.2.1 2D纹理
8.2.2 lD纹理
8.2.3 3D纹理
8.3 纹理对象
8.3.1 纹理名字的生成
8.3.2 纹理对象的创建和使用
8.4 纹理的过滤处理
8.5 纹理模式
8.6 纹理坐标
8.6.1 重复和夹持纹理
8.6.2 mipmap和细节层次
8.6.3 mipmap的自动牛成
8.7 例程--飘动的旗帜
8.7.1 例程的解释说明
8.7.2 例程的实现
8.8 例程--高程纹理地形
8.8.1 例程的解释说明
8.8.2 例程的实现
本章小结
第9章 高级纹理映射
9.1 多纹理映射
9.1.1 多纹理支持的验证
9.1.2 扩展函数的访问
9.1.3 纹理单元的建市
9.1.4 纹理坐标的设置(指定)
9.1.5 综合应用
9.2 环境映射
9.3 纹理矩阵
9.4 光照映射
9.5 多通道多纹理映射
本章小结
第1O章 显示列表与顶点数组
lO.1 显示列表
10.1.1 显示列表的创建
10.1.2 向显示列表中填充命令
10.1.3 显示列表的执行
10.1.4 显示列表的注意事项
10.1.5 显示列表的销毁
10.1.6 显示列表与纹理
10.1.7 例程:使用显示列表的机器人演示程序
lO.2 顶点数组
10.2.1 顶点数组的启用
10.2.2 数组的使用
10.2.3 顶点数组与多纹理映射
10.2.4 数组的锁定
10.2.5 例程:再建地形演示程序
本章小结
第11章 文本的显示
11.1 位图字体
l1.2 轮廓字体
ll.3 纹理映射字体
本章小结
第12章 OpenGL缓存
12.1 什么是OpenGL缓存
12.1.1 像素格式的设置
12.1.2 缓存的清理
12.2 颜色缓存
12.2.1 双缓存系统
12.2.2 立体缓存
12.3 深度缓存
12.3.1 深度比较程序
12.3.2 深度缓存的使用
l2.4 模板缓存
l2.5 累积缓存
本章小结
第13章 OpenGL二次曲面
13.1 OpenGL二次曲面的基础
l3.1.1 绘制风格
13.1.2 法线
13.1.3 指向
13.1.4 纹理坐标
13.1.5 清理
13.2 圆盘
l3.3 圆柱
l3.4 球
13.5 例程:飞掠一个二次世界
本章小结
第14章 曲线与曲面
14.1 曲线与曲面的描述
14.1.1 参数方程
14.1.2 控制点与连续性
l4.2 求值程序
14.3 曲面
14.4 NURBS
本章小结
第15章 特殊效果
l5.1 标志板
15.2 粒子系统的使用
15.2.1 粒子
l5.2.2 粒子系统
15.2.3 粒子系统管理器
15.2.4 实例
l5.2.5 粒子系统的效果
15.2.6 例程:暴风雪
l5.3 雾
15.3.1 OpenGL的雾
15.3.2 体积雾
l 5.4 镜像
15.4.1 光照的镜像
15.4.2 深度缓存的处理
15.4.3 使用模板缓存来处理有限的平面
15.4.4 对于非常规镜像表而的处理
15.4.5 对任意指向的平面的处理
l5.5 阴影
15.5.1 静态阴影
15.5.2 投射阴影
15.5.3 模板阴影体
15.5.4 其他的方法
15.5.5 例程:镜像与阴影
本章小结
第3篇 建立一个游戏
第16章 DirectX的使用:DirectInput
16.1 为什么要使用DirectInput
16.1.1 Windows消息
16.1.2 Win32
16.1.3 Directlnput
16.2 DirectInput的初始化
16.3 DirectInput的使用
16.3.1 设备的添加
16.3.2 输入的获取
l6.3.3 关闭
16.4 动作映射
16.5 输入子系统的建立
l6.6 输入系统例程
本章小结
第17章 Directx Audio的使用
l7.1 声音的基础
l7.2 什么是DiteetX Audio
17.2.1 DirecIX Audio的功能部件
l7.2.2 音频数据流
17.3 使用DirectMusic加载和演奏音频
17.3.1 初始化COM
17.3.2 创建与初始化演奏对象
17.3.3 创建loader对象
17.3.4 载入一个segment对象
17.3.5 下载波段
17.3.6 演奏segment
17.3.7 停止一个segment的播放
17.3.8 segment是甭止在播放
17.3.9 segment循环的控制
17.3.10 清理
l7.4 一个简单的例程
l7.5 Audiopath的使用
17.5.1 默认的Audiopath
l7.5.2 标准Audiopath
17.5.3 在Audiopath上播放声音
17.5.4 从Audiopath获取对象
17.6 3D声音
l7.6.1 3D声音坐标
17.6.2 感知
17.6.3 DirectSound 3D缓存
17.6.4 3D参数的设置
17.6.5 DirectSound 3D听者
17.6.6 3D音效文本例程
本章小结
第18章 3D模型的处理
18.1 3D模型文件格式
18.2 MD2文件格式
18.2.1 MD2的实现
18.2.2 MD2的载入
18.2.3 MD2的显示
18.2.4 添加纹理
18.2.5 模型的动画
18.2.6 开发一个CMD2Model类
18.2.7 模型动画的控制
18.3 最后的一点小资料
本章小结
第19章 OpenGL物理建模
19.1 物理学的回顾
19.1.1 时间
19.1.2 距离、位移和位置
19.1.3 速度
l9.1.4 加速度
19.1.5 作用力
19.1.6 动量
19.1.7 摩擦力
19.2 真实世界的模拟
19.2.1 任务的分解
19.2.2 定时
19.2.3 矢量
l9.2.4 平面
19.2.5 物体
l9.2.6 物体碰撞的处理
19.2.7 一个例程:空中曲棍球
本章小结
第20章 建立一个游戏引擎
20.1 SimpEngine的设计
20.1.1 利用CNode管理数据
20.1.2 对象的处胖:CObiect
20.2 引擎核
20.2.1 输入系统
20.2.2 CEngine类
20.2.3 游戏循环
20.2.4 输入的处理
20.2.5 SimpEngine
20.3 视点
20.4 场景
20.5 模型的添加
20.6 音频系统
20.7 粒子系统
本章小结
第21章 创建一个游戏:杀戮时刻
2l.1 初始设计
21.2 游戏场景
21.3 敌人
21.4 火箭与爆炸
21.5 用户的交互
21.6 运行游戏
21.7 建EXE可执行文件
本章小结
第4篇 附录
附录A 在线资源
A.1 游戏开发
A.2 OpenGL
A.3 DirectX
A.4 其他的资源
附录B 随书所附资料的使用
B.1 用户界面
B.2 文件结构
B.3 系统要求
B.4 安装
B.5 其他相关问题与疑难解答信息
B.6 是否仍旧需要帮助

本目录推荐