可视化OpenGL程序设计

可视化OpenGL程序设计
作 者: 费广正 芦丽丹 陈立新
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: OpenGL
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《可视化OpenGL程序设计》作者简介

内容简介

Delphi以其强大的界面编程能力吸引着众多的程序员,其严谨而简洁的程序结构更让大批编程爱好者纷至沓来。OpenGL作为国际上通用的开放式三维图形标准,同样令三维图形爱好者心驰神往。本书对Delphi编程和OpenGL编程进行了完美的结合,首先讲解了如何在Delphi环境下正解设置环境以进行OpenGL程序设计,然后介绍了OpenGL的基础知识和基本概念,并讲解了OpenGL的高级编程方法,最后通过一个蠕虫吃果游戏和一个模型编辑程序对本书内容作了一个全面总结。本书无论是对大专院校的学生,还是对科研院所的研究人员,都是一本难得的三维图形技术指导和参考书。此外,本书亦可作为从事计算机图形工作人员的三维图形概念引导,同时本书也适合作为OpenGL三维图形编程的培训教程。新颖:市场上开发OpenGL程序的书基本上都是用Visual C++,而本书介绍如何用Delphi开发OpenGL程序,满足广大Delphi程序员开发高水平图形图像方面程序的需求。实用:本书原理与实例相结合。例子都是由作者长时间的开发经验的体现,可以直接将它们应用到您的编程实践中。

图书目录

第1章 Delphi与OpenGL

1. 1 Delphi编程的特点

1. 2 OpenGL编程概述

1. 2. 1 OpenGL的基本概念

1. 2. 2 OpenGL的命令语法及各种状态的含义

1. 3 利用Delphi编写0penGL程序

1. 3. 1 OpenGL在Windows下的运行机制

1. 3. 2 Windows环境下OpenGL基本程序结构

1. 3. 3 最直接的实现方法

1. 3. 4 本书的实现方法

第2章 构造基本国元

2. 1 绘制初始化命令

2. 2 基本图元的绘制

2. 2. 1 点. 线. 多边形的简单定义

2. 2. 2 特殊多边形的绘制方法

2. 2. 3 设置点. 线. 多边形的绘制属性

2. 2. 4 顶点法向量的计算方法

2. 2. 5 构造较复杂形体

2. 2. 6 利用顶点数组优化绘制性能

2. 3 基本图元绘制实例程序

第3章 定义场景的坐标变换

3. 1 坐标变换的基本概念

3. 2 通用变换命令

3. 3 造型变换和视图变换

3. 3. 1 变换顺序及其结果

3. 3. 2 造型变换

3. 3. 3 视图变换

3. 4 投影变换

3. 4. 1 透视投影

3. 4. 2 正交投影

3. 4. 3 视图体裁剪

3. 5 视口变换

3. 5. 1 定义视口

3. 5. 2 变换z坐标

3. 6 变换综合实例1:空间飞行器探险

3. 6. 1 主要程序代码

3. 6. 2 模型数据定义文件

3. 6. 3 程序运行结果

3. 7 变换综合实例2:利用多线程绘制时钟

3. 7. 1 多线程时钟主程序

3. 7. 2 绘制时钟线程

3. 7. 3 程序执行结果

第4章 为物体设置颜色

4. 1 色彩视觉原理

4. 2 计算机中颜色的表示

4. 2. 1 颜色生成原理

4. 2. 2 RGB颜色模型

4. 3 两种颜色模式

4. 3. 1 RGBA颜色模式

4. 3. 2 颜色索引模式

4. 3. 3 两种模式的应用场合

4. 4 在两种模式下指定颜色

4. 4. 1 在RGBA模式下指定颜色

4. 4. 2 在颜色索引模式下指定额色

4. 4. 3 在RGBA模式下指定额色实例程序

4. 5 用透明度模拟运动模糊

第5章 在场景中加入光照

5. 1 0penGL光照原理

5. 1. 1 光照分量

5. 1. 2 材质颜色

5. 1. 3 光线与材质的RGB值

5. 2 创建光源

5. 2. 1 定义光源颜色

5. 2. 2 定义光源的位置与衰减

5. 2. 3 定义聚光灯

5. 2. 4 定义多光源

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 发射光

5. 5 利用CGLight类设置光照

5. 5. 1 控件设置

5. 5. 2 程序源代码

5. 5. 3 程序执行结果

第6章 制作一个模型编辑器

6. 1 模型编辑器的基本功能

6. 1. 1 程序主界面组织

6. 1. 2 其他界面的组织

6. 2 程序代码及详解

6. 2. 1 主程序说明部分

6. 2. 2 主程序创建函数. 销毁函数和初始化函数

6. 2. 3 场景及其参数的装入和保存

6. 2. 4 与绘制相关的程序

6. 2. 5 模型编辑相关程序

6. 2. 6 窗体事件服务程序

6. 2. 7 设置图元参数

6. 2. 8 向场景中添加图元

6. 2. 9 设置坐标步长

6. 2. 10 设置旋转步长

6. 2. 11 显示等待信息

第7章 字体和图像编程

7. 1 字体及其在OpenGL中的使用

7. 1. 1 OpenGL对字符显示的支持

7. 1. 2 位图字体的使用

7. 1. 3 矢量字体的使用

7. 2 0penGL中图像编程

7. 2. 1 像素的读写

7. 2. 2 像素拷贝

7. 2. 3 图像缩放

7. 3 创建一个功能强大的二维绘图程序

7. 3. 1 程序界面设计

7. 3. 2 程序代码

第8章 定义纹理映射

8. 1 定义二维纹理映射的方法

8. 2 控制纹理滤波

8. 2. 1 纹理滤波

8. 2. 2 纹理的重复与缩限

8. 2. 3 纹理的映射方式

8. 2. 4 定义纹理坐标

8. 2. 5 自动生成纹理坐标

8. 3 用图像文件创建纹理

8. 3. 1 文件格式转换

8. 3. 2 从文件中直接读写

8. 3. 3 程序运行结果

8. 4 用纹理映射实现环境映射效果

8. 4. 1 实现代码

8. 4. 2 程序运行结果

8. 5 用纹理映射实现浮雕效果

8. 5. 1 程序代码

8. 5. 2 程序运行结果

8. 6 用纹理实现地形漫游效果

第9章 利用显示列表提高绘制性能

9. 1 显示列表的基本概念

9. 2 显示列表的建立. 执行和管理

9. 2. 1 显示列表的建立

9. 2. 2 显示列表中的存储内容

9. 2. 3 执行显示列表

9. 2. 4 显示列表的层次

9. 2. 5 管理显示列表及其索引

9. 3 建立一个绘制地形的显示列表

第10章 各种特殊效果的实现

10. 1 利用颜色融合实现各种特效

10. 1. 1 源和目的因子

10. 1. 2 颜色融合的应用

10. 1. 3 一个颜色融合的实例

10. 1. 4 利用深度缓存的三维融合

10. 2 利用反走样使图像更平滑

10. 2. 1 点或线的反走样

10. 2. 2 多边形的反走样

10. 3 雾化效果的实现

10. 4 利用粒子系统实现特殊效果

10. 4. 1 绘制动态喷泉程序代码

10. 4. 2 喷泉程序运行结果

10. 4. 3 创建一个屏幕保护程序

10. 4. 4 用粒子系统绘制一堆簧火

第11章 帧缓存与动画

11. 1 缓存及其使用

11. 1. 1 0penGL中的各种缓存

11. 1. 2 清除缓存

11. 1. 3 选择绘图的颜色缓存

11. 1. 4 屏蔽缓存

11. 1. 5 利用模板缓存实现镜面效果

11. 1. 6 利用辅助缓存提高动画性能

11. 2 检验和操作片断值

11. 2. 1 剪裁检验

11. 2. 2 A1pha检验

11. 2. 3 模板检验

11. 2. 4 深度检验

ll. 2. 5 融合. 抖动和逻辑操作

11. 3 累积缓存

第12章 高效生成曲线曲面

12. 1 高效生成曲线

12. 1. 1 绘制曲线举例

12. 1. 2 曲线定义和启用

12. 1. 3 曲线坐标运算

12. 1. 4 定义均匀间隔曲线坐标值

12. 2 构造曲面

12. 2. 1 曲面定义和坐标计算

12. 2. 2 定义均匀间隔的曲面坐标值

12. 2. 3 NURBS曲面

12. 2. 4 给NURBS曲面定义纹理

12. 3 专业的曲面曲线造型

12. 3. 1 创建一个插件

12. 3. 2 读取曲面模型数据

第13章 选择与反馈实现交互

13. 1 选择模式

13. 1. 1 选择的基本步骤

13. 1. 2 建立名栈

13. 1. 3 命中记录

13. 1. 4 选择模式的例子

13. 2 反馈模式

13. 2. 1 反馈数组

13. 2. 2 在反馈模式下利用标记

13. 2. 3 反馈的简单应用

13. 2. 4 反馈模式的完整示例

13. 3 拾取

第14章 维纳斯之舞

14. 1 ASC文件格式说明

14. 2 读取三维模型文件程序实例

14. 2. 1 主程序代码

14. 2. 2 库程序主控程序

14. 2. 3 模型文件读取程序

14. 2. 4 数值处理相关程序

14. 2. 5 纹理映射相关程序

14. 2. 6 程序运行结果

第15章 蠕虫吃果游戏

15. 1 程序界面设计

15. 2 程序实现代码

15. 2. 1 主程序代码

15. 2. 2 绘制线程