本书全面介绍采用Visual C++语言开发OpenGL交互式三维应用程序的技术。
全书共11章,介绍了程序基础、形体建模、渲染色彩与动画的应用开发4个部分内容。本书在介绍每部分内容时,先引入概念,再进行举例,最后完成一个相对独立的例程,并给出程序清单供读者参照。全书共解析了23个生动有趣的例程。
本书可供有Visual C++语言基础的技术人员学习和参考。
Visual C++ OpenGL 应用程序开发(附光盘)
内容提要 :
本书全面介绍采用Visual C++语言开发OpenGL交互式三维应用程序的技术。
全书共11章,介绍了程序基础、形体建模、渲染色彩与动画的应用开发4个部分内容。本书在介绍每部分内容时,先引入概念,再进行举例,最后完成一个相对独立的例程,并给出程序清单供读者参照。全书共解析了23个生动有趣的例程。 本书可供有Visual C++语言基础的技术人员学习和参考。 编辑推荐 :
本书全面介绍采用Visual C++语言开发OpenGL交互式三维应用程序的技术。
全书共11章,介绍了程序基础、形体建模、渲染色彩与动画的应用开发4个部分内容。本书在介绍每部分内容时,先引入概念,再进行举例,最后完成一个相对独立的例程,并给出程序清单供读者参照。全书共解析了23个生动有趣的例程。 本书可供有Visual C++语言基础的技术人员学习和参考。 目录 :
第1部分 程序基础
第1章 三维世界 2 1.1 “回到真实”——三维图形的发展 2 1.2 三维世界的成像 3 1.2.1 空间位置和坐标 3 1.2.2 透视投影 3 1.3 OpenGL介绍 4 1.3.1 OpenGL语言 4 1.3.2 OpenGL工作方式 5 1.3.3 OpenGL绘制过程 5 1.4 数据类型、函数和状态变量 6 1.4.1 数据类型 6 1.4.2 函数及后缀 7 1.4.3 状态变量 9 第2章 视场的建立 19 2.1 通向“真实”的条件——程序框架 19 2.1.1 像素格式 19 2.1.2 渲染描述表 21 2.2 创建视场 21 2.2.1 创建Visual C++程序 21 2.2.2 设置像素格式与创建渲染描述表 26 2.2.3 通用基础框架程序架构 34 2.2.4 扩展到深邃的天空——全屏显示 36 2.2.5 多学一点——变化的天空 42 2.2.6 基础程序清单及重点 43 第2部分 形体建模 第3章 点与线 58 3.1 “世界”的开始——点 58 3.1.1 二维的点 58 3.1.2 三维的点 62 3.2 线和曲线 67 3.2.1 二维的线 68 3.2.2 三维的线 68 3.2.3 折线 69 3.2.4 闭合曲线 70 3.3 线型和点的变化 74 3.3.1 线型 74 3.3.2 点的变化 75 3.3.3 多学一点——七彩星空 79 3.3.4 多学一点——彩虹 85 3.3.5 程序重点清单 92 第4章 面和体 104 4.1 三角形 104 4.1.1 基本的三角形 104 4.1.2 前面、后面的绘制模式 107 4.1.3 三角形片 108 4.1.4 三角形扇 109 4.2 四边形 111 4.2.1 基本的四边形 111 4.2.2 四边形片 112 4.3 多边形 116 4.3.1 多边形与边的可见性 116 4.3.2 面的填充 117 4.4 “产生”的体 119 4.4.1 立方体 119 4.4.2 填充立方体面 120 4.4.3 多学一点——蝴蝶的翅膀 124 4.4.4 程序重点清单 132 第5章 显示列表 152 5.1 显示列表的创建 152 5.2 显示列表的执行 158 5.3 显示列表的管理 159 5.4 多学一点——旋转的红伞 162 5.5 多学一点——雨中行 169 5.6 程序重点清单 177 第6章 图形变换 201 6.1 屏幕坐标 201 6.2 投影变换 202 6.2.1 平行投影 202 6.2.2 透视投影 203 6.3 视区变换 204 6.4 剪切变换 205 6.5 几何变换 206 6.5.1 平移变换 206 6.5.2 旋转变换 206 6.5.3 缩放变换 207 6.6 矩阵操作与堆栈 213 6.6.1 矩阵操作 213 6.6.2 矩阵堆栈 214 6.6.3 多学一点——天涯共此时 215 6.6.4 程序重点清单 226 第3部分 渲染色彩 第7章 色彩构成与光照 250 7.1 OpenGL颜色的基本构成 250 7.1.1 OpenGL颜色模型 250 7.1.2 深度测试 252 7.1.3 渲染处理 254 7.2 颜色的相互作用 260 7.2.1 光的定义 260 7.2.2 物体的材质 262 7.2.3 法线的作用 263 7.2.4 全局的光照模型 263 7.2.5 深入学习——彩色气球 264 7.2.6 程序重点清单 273 第8章 融合与透明 292 8.1 OpenGL颜色的融合 292 8.2 融合的操作 293 8.3 复杂的透明 299 8.4 深入学习——绿茶 301 8.5 程序重点清单 309 第9章 反走样与雾化 328 9.1 反走样 328 9.1.1 OpenGL反走样 328 9.1.2 反走样函数与定义 329 9.2 雾化 330 9.2.1 OpenGL雾化 330 9.2.2 雾化函数与定义 330 9.2.3 深入学习——荷塘月色 340 9.2.4 程序重点清单 349 第10章 图像贴图与文字显示 370 10.1 图像位图操作 370 10.1.1 图像操作 370 10.1.2 位图操作 373 10.1.3 材质纹理贴图 374 10.2 显示汉字的方法 384 10.2.1 显示汉字方法一——贴图 385 10.2.2 显示汉字方法二——显示列表 385 10.2.3 程序重点清单 396 第4部分 动画的应用开发 第11章 动画与实时处理 418 11.1 动画 418 11.1.1 动画生成 418 11.1.2 双缓存技术 418 11.2 动画的因果 419 11.2.1 变化的形状 419 11.2.2 变化的位置 434 11.2.3 变化的颜色 444 前言:
OpenGL与Visual C++
OpenGL是一个优秀的专业化的3DAPI。它最早是SGI为图形工作站开发的。随着OpenGL成为高性能图形与交互式视景处理的工业标准, 目前几乎所有的3D图形显示卡都已经支持OpenGL。OpenGL的应用范围已经从游戏开发、三维设计等逐步扩展到3D图形、图像处理、广告、动画、虚拟现实、科学计算可视化、仿真等多种领域多个层面。可以说openGL在三维领域的霸主地位是毋庸置疑的。.
Visual C++在编程语言中历来是以王者著称的,由于它函数全面、基础类库丰富、接口函数灵活多样,已经被广泛应用在各个工程技术领域。
近年来,由于三维技术的飞速发展和广泛应用,许多原来采用Visual C++作为基础语言..
|