简介
本书采用理论与实践相结合的方式讲解计算机图形学理论和OpenGL图
形编程实践。本书内容丰富、组织结构清晰,涵盖了基本的三维计算机图
形学理论,以及使用OpenGL进行三维图形编程的概念和方法。全书共分为
三大部分:图形学基础、高级图形学理论和实现以及0penGL高级编程。书
中附有使用OpenGL编写的大量程序以及各种效果图,所选实例具有很强的
代表性,程序代码全部采用c语言编写,并且在Visual C++6.0环境下调试
通过,便于读者对计算机图形学理论和OpenGL编程概念的理解。
本书只要求读者有一定的C语言基础和数学知识,适合作为相关专业计
算机图形学的教材或辅助教材,还可作为OpenGL编程以及计算机游戏编程
等培训班的理想教材,而对那些对OpenGL编程和计算机图形学感兴趣的读
者来说也是一本不可多得的入门和提高的参考用书。
目录
第Ⅰ部分 图形学基础
1 绪论
1.1 计算机图形学的研究内容
1.2 计算机图形学的应用领域
1.3 计算机图形学的发展简史
1.4 主要的图形库API
2 OpenGL简介
2.1 OpenGL发展历史
2.2 OpenGL体系结构
2.3 OpenGL函数库
2.4 建立OpenGL编程环境
2.4.1 建立一个新工程
2.4.2 设置包含文件和库文件路径
2.4.3 加入OpenGL库
2.5 OpenGL程序一瞥
2.6 Windows环境下的OpenGL应用程序结构
2.6.1 Windows应用程序基本结构
2.6.2 OpenGL加入Windows应用程序
2.6.3 Windows环境下的OpenGL应用程序示例
本章小结
3 基本几何图元的定义
3.1 几何图元描述
3.1.1 点
3.1.2 线
3.1.3 多边形
3.2 绘制几何图元
3.2.1 指定顶点
3.2.2 定义不同的几何图元
本章小结
4 图形和视图变换
4.1 齐次坐标
4.2 二维变换
4.2.1 二维平移变换
4.2.2 二维比例变换
4.2.3 二维旋转变换
4.2.4 二维反射变换
4.2.5 二维错切变换
4.2.6 复合变换
4.2.7 二维变换的分解
4.3 三维变换
4.4 视图
4.4.1 平行投影
4.4.2 透视投影
4.5 基于OpenGL的图形变换
4.5.1 视点或照相机坐标
4.5.2 OpenGL中的矩阵
4.5.3 模型变换
4.5.4 投影变换
4.5.5 剪切变换
4.5.6 视口变换
4.6 综合利用各种变换绘制机器人模型
本章小结
5 颜色
5.1 计算机颜色
5.1.1 颜色生成原理
5.1.2 颜色模型及变换
5.2 OpenGL颜色模式
5.2.1 RGBA颜色模式
5.2.2 颜色索引模式
本章小结
第Ⅱ部分 高级图形学理论和实践
6 图形明暗效应
6.1 光照模型
6.1.1 环境光
6.1.2 漫反射光
6.1.3 镜面反射光
6.1.4 Phong简单光照模型
6.2 多边形光照计算
6.2.1 常量模型
6.2.2 Gouraud模型
6.2.3 Phong模型
6.3 OpenGL光照
6.3.1 光源
6.3.2 光照分量
6.3.3 材质
6.3.4 加入光照步骤
6.4 创建OpenGL光源
6.4.1 启动光源
6.4.2 设置光源颜色
6.4.3 设置光源位置与衰减因子
6.5 OpenGL光照模型
6.5.1 全局环境光
6.5.2 视点位置
6.5.3 双面光照
6.5.4 镜面反射光颜色
6.6 定义材质属性
6.6.1 设置材质环境反射光色和漫反射光色
6.6.2 设置镜面反射光色
6.6.3 设置发射光色
6.6.4 常见的材质属性值
6.6.5 设置材质属性示例
6.7 光源的高级控制
6.7.1 设置聚光灯
6.7.2 设置多光源
6.7.3 控制光源的位置和方向
本章小结
7 纹理映射
7.1 纹理映射概述
7.1.1 纹理的定义
7.1.2 二维纹理映射
7.2 凸包纹理映射
7.3 环境纹理映射
7.4 OpenGL纹理映射
7.5 OpenGL纹理定义
7.6 OpenGL纹理对象
7.6.1 生成纹理名
7.6.2 生成并使用纹理对象
7.7 OpenGL纹理控制
7.7.1 纹理滤波
7.7.2 重复与缩限
7.8 OpenGL纹理映射方式
7.9 OpenGL纹理坐标
7.9.1 纹理坐标定义
7.9.2 自动产生纹理坐标
7.10 OpenGL环境映射
本章小结
8 曲线和曲面
8.1 双线性面片
8.2 二次Bézier曲线
8.3 高次Bézier曲线
8.3.1 高次Bézier曲线的定义
8.3.2 Bézier曲线的性质
8.4 Bézier曲面
8.4.1 Bézier曲面的定义
8.4.2 Bézier曲面的细分
8.5 Hermite和Catmull-Rom曲线
8.6 B样条
8.6.1 B样条的定义
8.6.2 非三次B样条
8.6.3 NURBS
8.7 Loop曲面细分方法
8.8 OpenGL曲线和曲面
8.8.1 Bézier曲线
8.8.2 Bézier曲面
8.8.3 纹理曲面
8.8.4 NURBS
本章小结
9 隐藏面消除
9.1 BSP树
9.1.1 BSP树算法概述
9.1.2 创建树结构
9.1.3 划分三角形
9.1.4 树的优化
9.2 Z缓存区
9.2.1 Z缓存区算法
9.2.2 整型Z缓存区
9.3 背面消除
9.4 OpenGL隐藏面消除
本章小结
10 图形合成技术
10.1 融合
10.1.1 图形融合
10.1.2 OpenGL图形融合
10.1.3 图形融合应用
10.2 反走样
10.2.1 图形反走样
10.2.2 OpenGL反走样线条
10.2.3 OpenGL反走样多边形
10.3 雾化
10.3.1 深度暗示和雾
10.3.2 OpenGL雾化
本章小结
第Ⅲ部分 OpenGL高级编程
11 OpenGL缓存技术
11.1 缓存及其应用
11.1.1 OpenGL缓存概念
11.1.2 清除缓存
11.1.3 屏蔽缓存
11.2 颜色缓存
11.2.1 双缓存系统
11.2.2 立体缓存
11.3 模板缓存
11.4 累积缓存
本章小结
12 使用显示列表和顶点数组
12.1 显示列表
12.1.1 建立显示列表
12.1.2 添加函数命令到显示列表
12.1.3 执行显示列表
12.1.4 删除显示列表
12.1.5 显示列表与纹理
12.1.6 显示列表使用示例
12.2 顶点数组
12.2.1 启动顶点数组
12.2.2 使用顶点数组
12.2.3 使用隔行数组
12.2.4 锁定顶点数组
12.2.5 顶点数组使用示例
本章小结
13 OpenGL位图和图像
13.1 OpenGL位图
13.1.1 定位位图
13.1.2 绘制位图
13.1.3 OpenGL位图示例
13.2 使用图像
13.2.1 绘制图像数据
13.2.2 从屏幕上读取图像数据
13.2.3 拷贝屏幕数据
13.2.4 放大、缩小和反转
13.2.5 管理像素存储
13.2.6 图像应用示例
13.3 Windows位图
13.3.1 BMP文件格式
13.3.2 载入BMP文件
13.3.3 输出BMP文件
本章小结
14 显示字体
14.1 字体和显示列表
14.2 位图字体
14.3 轮廓字体
14.4 纹理字体
14.5 中文字体
本章小结
参考文献
1 绪论
1.1 计算机图形学的研究内容
1.2 计算机图形学的应用领域
1.3 计算机图形学的发展简史
1.4 主要的图形库API
2 OpenGL简介
2.1 OpenGL发展历史
2.2 OpenGL体系结构
2.3 OpenGL函数库
2.4 建立OpenGL编程环境
2.4.1 建立一个新工程
2.4.2 设置包含文件和库文件路径
2.4.3 加入OpenGL库
2.5 OpenGL程序一瞥
2.6 Windows环境下的OpenGL应用程序结构
2.6.1 Windows应用程序基本结构
2.6.2 OpenGL加入Windows应用程序
2.6.3 Windows环境下的OpenGL应用程序示例
本章小结
3 基本几何图元的定义
3.1 几何图元描述
3.1.1 点
3.1.2 线
3.1.3 多边形
3.2 绘制几何图元
3.2.1 指定顶点
3.2.2 定义不同的几何图元
本章小结
4 图形和视图变换
4.1 齐次坐标
4.2 二维变换
4.2.1 二维平移变换
4.2.2 二维比例变换
4.2.3 二维旋转变换
4.2.4 二维反射变换
4.2.5 二维错切变换
4.2.6 复合变换
4.2.7 二维变换的分解
4.3 三维变换
4.4 视图
4.4.1 平行投影
4.4.2 透视投影
4.5 基于OpenGL的图形变换
4.5.1 视点或照相机坐标
4.5.2 OpenGL中的矩阵
4.5.3 模型变换
4.5.4 投影变换
4.5.5 剪切变换
4.5.6 视口变换
4.6 综合利用各种变换绘制机器人模型
本章小结
5 颜色
5.1 计算机颜色
5.1.1 颜色生成原理
5.1.2 颜色模型及变换
5.2 OpenGL颜色模式
5.2.1 RGBA颜色模式
5.2.2 颜色索引模式
本章小结
第Ⅱ部分 高级图形学理论和实践
6 图形明暗效应
6.1 光照模型
6.1.1 环境光
6.1.2 漫反射光
6.1.3 镜面反射光
6.1.4 Phong简单光照模型
6.2 多边形光照计算
6.2.1 常量模型
6.2.2 Gouraud模型
6.2.3 Phong模型
6.3 OpenGL光照
6.3.1 光源
6.3.2 光照分量
6.3.3 材质
6.3.4 加入光照步骤
6.4 创建OpenGL光源
6.4.1 启动光源
6.4.2 设置光源颜色
6.4.3 设置光源位置与衰减因子
6.5 OpenGL光照模型
6.5.1 全局环境光
6.5.2 视点位置
6.5.3 双面光照
6.5.4 镜面反射光颜色
6.6 定义材质属性
6.6.1 设置材质环境反射光色和漫反射光色
6.6.2 设置镜面反射光色
6.6.3 设置发射光色
6.6.4 常见的材质属性值
6.6.5 设置材质属性示例
6.7 光源的高级控制
6.7.1 设置聚光灯
6.7.2 设置多光源
6.7.3 控制光源的位置和方向
本章小结
7 纹理映射
7.1 纹理映射概述
7.1.1 纹理的定义
7.1.2 二维纹理映射
7.2 凸包纹理映射
7.3 环境纹理映射
7.4 OpenGL纹理映射
7.5 OpenGL纹理定义
7.6 OpenGL纹理对象
7.6.1 生成纹理名
7.6.2 生成并使用纹理对象
7.7 OpenGL纹理控制
7.7.1 纹理滤波
7.7.2 重复与缩限
7.8 OpenGL纹理映射方式
7.9 OpenGL纹理坐标
7.9.1 纹理坐标定义
7.9.2 自动产生纹理坐标
7.10 OpenGL环境映射
本章小结
8 曲线和曲面
8.1 双线性面片
8.2 二次Bézier曲线
8.3 高次Bézier曲线
8.3.1 高次Bézier曲线的定义
8.3.2 Bézier曲线的性质
8.4 Bézier曲面
8.4.1 Bézier曲面的定义
8.4.2 Bézier曲面的细分
8.5 Hermite和Catmull-Rom曲线
8.6 B样条
8.6.1 B样条的定义
8.6.2 非三次B样条
8.6.3 NURBS
8.7 Loop曲面细分方法
8.8 OpenGL曲线和曲面
8.8.1 Bézier曲线
8.8.2 Bézier曲面
8.8.3 纹理曲面
8.8.4 NURBS
本章小结
9 隐藏面消除
9.1 BSP树
9.1.1 BSP树算法概述
9.1.2 创建树结构
9.1.3 划分三角形
9.1.4 树的优化
9.2 Z缓存区
9.2.1 Z缓存区算法
9.2.2 整型Z缓存区
9.3 背面消除
9.4 OpenGL隐藏面消除
本章小结
10 图形合成技术
10.1 融合
10.1.1 图形融合
10.1.2 OpenGL图形融合
10.1.3 图形融合应用
10.2 反走样
10.2.1 图形反走样
10.2.2 OpenGL反走样线条
10.2.3 OpenGL反走样多边形
10.3 雾化
10.3.1 深度暗示和雾
10.3.2 OpenGL雾化
本章小结
第Ⅲ部分 OpenGL高级编程
11 OpenGL缓存技术
11.1 缓存及其应用
11.1.1 OpenGL缓存概念
11.1.2 清除缓存
11.1.3 屏蔽缓存
11.2 颜色缓存
11.2.1 双缓存系统
11.2.2 立体缓存
11.3 模板缓存
11.4 累积缓存
本章小结
12 使用显示列表和顶点数组
12.1 显示列表
12.1.1 建立显示列表
12.1.2 添加函数命令到显示列表
12.1.3 执行显示列表
12.1.4 删除显示列表
12.1.5 显示列表与纹理
12.1.6 显示列表使用示例
12.2 顶点数组
12.2.1 启动顶点数组
12.2.2 使用顶点数组
12.2.3 使用隔行数组
12.2.4 锁定顶点数组
12.2.5 顶点数组使用示例
本章小结
13 OpenGL位图和图像
13.1 OpenGL位图
13.1.1 定位位图
13.1.2 绘制位图
13.1.3 OpenGL位图示例
13.2 使用图像
13.2.1 绘制图像数据
13.2.2 从屏幕上读取图像数据
13.2.3 拷贝屏幕数据
13.2.4 放大、缩小和反转
13.2.5 管理像素存储
13.2.6 图像应用示例
13.3 Windows位图
13.3.1 BMP文件格式
13.3.2 载入BMP文件
13.3.3 输出BMP文件
本章小结
14 显示字体
14.1 字体和显示列表
14.2 位图字体
14.3 轮廓字体
14.4 纹理字体
14.5 中文字体
本章小结
参考文献
计算机图形学理论与OpenGL编程实践[电子资源.图书]
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
