OpenGL编程精粹
图书信息
书 名: Open GL编程精粹
作者:杨柏林
出版社:机械工业出版社
出版时间: 2010年9月1日
ISBN: 9787111315766
开本: 16开
定价: 59.00元
内容简介《Open GL编程精粹》讲述如何使用opengl进行编程。从实际应用的角度出发,全书以opengl在实际应用中频繁出现的技术重点和难点为讲解内容,完全以对实例的精心讲解贯穿全书,并在各个实例中穿插opengl和3d图形学的相关原理和概念,舍弃opengl中与实际3d图形应用开发关联不大的琐碎知识细节,以一种全新的方式引导读者快速掌握实际开发中所必须掌握的最重要、最实用的概念、原理和编程技巧,事半功倍地进入相关开发领域。《Open GL编程精粹》中的实例代码都是从大量实际应用中精心筛选出来的,并经过适当的修改、完善和严格测试。
《Open GL编程精粹》的适用对象包括欲进入游戏开发、影视特效、仿真系统、虚拟现实与增强现实、图形图像处理、移动图形应用等领域的初、中级程序员和高校与科研机构的相关研究人员;进行毕业设计、课程设计的学生;游戏专业/软件学院/游戏学院学员;对图形编程有兴趣的业余爱好者。《Open GL编程精粹》还可作为高校图形学、游戏程序设计课程的辅助参考资料。
图书目录序
前言
第1章 Open GL图形开发快速入门
1.1 Open GL基础知识
1.1.1 Open GL的历史
1.1.2 Open GL的特点
1.2 3D图形学理论入门
1.2.1 点
1.2.2 向量
1.2.3 矩阵
1.2.4 变换
1.2.5 投影
1.2.6 裁剪
1.2.7 光照
第2章 Open GL程序框架
2.1 窗口渲染环境
2.1.1 GDI设备环境
2.1.2 Open GL渲染环境
2.2 窗口创建
2.2.1 Win32SDK风格的框架
2.2.2 面向对象风格的框架
2.3 增加环境设置选项
第3章 Open GL基本图形的绘制
3.1 Open GL的数据类型
3.2 函数命名的语法
3.3 Open GL是一种状态机
3.4 Open GL变换
3.4.1 视点变换
3.4.2 模型变换
3.4.3 投影变换
3.4.4 视口变换
3.4.5 裁剪变换
3.5 Open GL基本图形的绘制
3.6 Open GL基本图元的属性细节
第4章 Open GL颜色及3D图形的绘制
4.1 计算机颜色
4.2 Open GL颜色模式
4.3 着色模式
4.4 顶点数组
4.5 3D彩色物体绘制实例
第5章 Open GL光照和材质
5.1 光照及材质介绍
5.2 Open GL光照模型
5.2.1 法线向量
5.2.2 创建光源
5.2.3 选择光照模型
5.2.4 启用光照
5.3 材质
5.3.1 材质的定义
5.3.2 颜色材质模式
5.4 光照实例
5.5 材质实例
第6章 显示列表
6.1 使用显示列表的优势
6.2 显示列表的适用场合
6.3 创建显示列表
6.4 执行显示列表
6.5 管理显示列表
6.6 显示列表实例
第7章 位图和图像
7.1 位图
7.1.1 位图与字符
7.1.2 绘制位图
7.1.3 绘制位图实例
7.2 图像操作
7.2.1 像素读写
7.2.2 像素复制
7.2.3 像素缩放
7.2.4 像素操作实例
第8章 纹理映射
8.1 简介
8.2 纹理映射的过程
8.2.1 纹理定义
8.2.2 纹理控制
8.2.3 纹理映射方式
8.2.4 指定纹理坐标
8.2.5 纹理对象
8.3 纹理资源载入
8.3.BMP位图介绍
8.3.2 TGA介绍
8.3.3 纹理资源的载入
8.4 纹理映射实例
第9章 混合
9.1 混合因子
9.2 启用混合
9.3 实现步骤
9.4 混合实例
第10章 字体
10.1 Open GL显示英文字体
10.1.1 平面文字的显示
10.1.2 立体文字的显示
10.2 Open GL显示中文
10.2.1 3D文字的显示
10.2.2 平面文字的显示
第11章 反走样
11.1 行为控制
11.2 点和直线的反走样
11.3 多边形的反走样
第12章 雾
12.1 概述
12.2 启用雾
12.3 设置雾的属性
12.4 雾坐标
12.5 雾效实例
第13章 网格化
13.1 网格化步骤
13.2 创建网格化对象
13.3 网格化回调函数
13.4 网格化属性
13.5 定义多边形
13.6 删除网格化对象
13.7 网格化实例
第14章 二次几何体
14.1 渲染二次几何体步骤
14.2 二次对象
14.3 二次对象的属性
14.4 二次图元
14.5 实例
第15章 贝赛尔曲线和曲面
15.1 求值程序
15.2 贝赛尔曲线
15.2.1 启用求值程序
15.2.2 定义一维求值程序
15.2.3 执行一维求值程序
15.2.4 贝赛尔曲线实例
15.3 贝赛尔曲面
15.3.1 启用求值程序
15.3.2 定义二维求值程序
15.3.3 执行二维求值程序
15.3.4 贝赛尔曲面实例
第16章 多重纹理
16.1 Open GL扩展
16.1.1 扩展名
16.1.2 使用Open GL扩展
16.2 多重纹理
16.3 多重纹理实例
第17章 凹凸映射
17.1 凹凸映射的一般原理
17.1.1 介绍
17.1.2 切空间
17.1.3 原理
17.2 浮雕凹凸映射
17.2.1 原理
17.2.2 实现方法
17.3 本章 实例
第18章 环境映射
18.1 环境映射介绍
18.2 环境映射分类
18.2.1 球形映射
18.2.2 立方体映射
18.3 环境映射实例
18.3.1 Sphere Mapping实例
18.3.2 Cube Mapping实例
第19章 镜面反射
19.1 模板缓存
19.1.1 模板缓存的启用
19.1.2 设置、清除模板缓存区
19.1.3 模板测试
19.2 镜面反射实例
第20章 阴影
20.1 介绍
20.2 阴影生成方法
20.2.1 平面投射
20.2.2 阴影图
20.2.3 阴影体
20.3 阴影实例
20.3.1 平面投射实例
20.3.2 阴影体实例
第21章 拾取
21.1 介绍
21.1.1 基本步骤
21.1.2 名字栈
21.1.3 命中记录
21.1.4 拾取
21.2 拾取实例
第22章 骨骼动画
22.1 介绍
22.2 骨骼蒙皮动画
22.2.1 基本原理
22.2.2 实现
22.3 本章 实例
第23章 摄像机漫游
23.1 介绍
23.2 摄像机漫游
23.3 漫游实例
第24章 天空绘制
24.1 天空盒
24.2 天空顶
24.3 天空绘制实例
24.3.1 天空盒实例
24.3.2 天空顶实例
第25章 地形渲染
25.1 LOD技术简介
25.2 ROAM模型
25.3 ROAM简单实例
25.4 ROAM地形实例
第26章 粒子系统
26.1 粒子系统简介
26.2 粒子系统类
26.3 暴雪实例类
第27章 Open GL着色语言
27.1 Open GL着色语言简介
27.2 Open GL着色语言环境设置
27.2.1 着色器创建流程
27.2.2 创建一个着色器
27.2.3 创建一个程序
27.2.4 查询函数与清理工作
27.2.5 Open GL与Open GL着色语言的通信
27.3 GLSL语法基础
27.3.1 数据类型
27.3.2 变量限定符
27.3.3 流控制
27.3.4 函数
27.4 实例分析
27.4.1 GLSL简单实例
27.4.2 颜色处理实例
27.4.3 变形实例
第28章 Open GLES应用基础
28.1 Open GLES和EGL
28.1.1 Open GLES介绍
28.1.2 E GL介绍
28.2 Open GLES初始化方法
28.3 Open GLES应用实例
28.3.1 Open GLES在Windows CE上的使用
28.3.2 Open GLES在BREW上的使用
28.3.3 Open GLES在Java上的使用
参考文献