首页>参考读物>计算机科学与技术>综合

OpenGL编程精粹
作者 : 杨柏林 陈根浪 徐静 编著
出版日期 : 2010-09-09
ISBN : 978-7-111-31576-6
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 376
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书讲述如何使用OpenGL进行编程。
从实际应用的角度出发,全书以OpenGL在实际应用中频繁出现的技术重点和难点为讲解内容,完全以对实例的精心讲解贯穿全书,并在各个实例中穿插OpenGL和3D图形学的相关原理和概念,舍弃OpenGL中与实际3D图形应用开发关联不大的琐碎知识细节,以一种全新的方式引导读者快速掌握实际开发中所必须掌握的最重要,最实用的概念、原理和编程技巧,事半功倍的进入相关开发领域。本书中的实例代码都是从大量实际应用中精心筛选出来的,并经过适当的修改、完善和严格测试。

图书特色

OpenGL编程精粹
Essential OpenGL Programming

杨柏林 陈根浪 徐静 编著

内容精粹:涉及OpenGL 3.1应用最广的概念、原理、技巧
实例精彩:实用有趣,交互性强,易于扩展
代码精炼:取自实际项目,有流程图和UML图,经过完善和严格测试
学习精专:采用一个通用程序框架

本书在继承《OpenGL游戏编程》广受读者欢迎的写作风格的基础上,重点突出了OpenGL技术的通用性、实用性和前沿性,力图每个实例都精挑细选、切中要点、深入浅出、言简意赅,其特色如下。
内容精粹:介绍OpenGL最新3.1版本中所涉及的与实际应用关联度大的内容,引导读者快速掌握最实用的概念、原理和编程技巧。
实践的精粹:全书以OpenGL在实际应用中频繁出现的技术重点和难点为讲解内容,对实例的精心讲解贯穿全书。
实例精粹:力求通过实用有趣、交互性强、易于扩展的应用实例帮助读者深刻领会复杂、枯燥的原理与概念。
代码精粹:书中代码均源于实际项目,并经过完善和严格测试,复用性强,可“即插即用”,注释完整并配有清晰的流程图和UML图。
学习精粹:精心开发了一个通用程序框架,每个实例都采用该框架,读者可专注学习相关技术要点而不必深陷复杂的无关代码细节。
本书适合于欲进入游戏开发、影视特效、仿真系统、虚拟现实与增强现实、图形图像处理、移动图形应用等领域的初、中级程序员以及高校或科研机构的相关研究人员;进行毕业设计、课程设计的学生;其他对图形编程有兴趣的业余爱好者。本书还可以作为高校图形学、游戏程序设计课程的教辅。

图书前言

OpenGL(Open Graphics Library)即“开放的图形程序接口”,它于1992年由SGI公司开发,得到广大硬件和软件厂商的支持和参与,并成为该领域的工业标准。由于OpenGL是一个与硬件无关的软件接口,同时可以在不同的平台如Windows 95、Windows NT、UNIX、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。随着OpenGL版本升级,功能不断增强,基于OpenGL开发的应用程序已经从传统的简单三维模型绘制扩展到复杂场景绘制,并被广泛应用到科学计算可视化、军事仿真、体育仿真、虚拟漫游、增强现实、商务虚拟展示等领域。
  与已有的市面上多种关于OpenGL的书籍相比,本书在内容安排上有3个特点:
  1)从最基础的平台和程序框架开始,并介绍了相关图形学基础知识,使读者能够快速进入本书内容;
  2)提供的OpenGL编程技术内容翔实,范围从OpenGL的基本绘制技术延伸到场景优化和高级特性,并扩充了目前的研究热点;
  3)针对每部分内容,都有典型例子来说明,从而使读者能够快速理解所讲授的内容。
  本书共分28章。第1、2章,概述了OpenGL图形开发的基本方法和基本程序框架,通过这两章的学习读者能够实现一个最简单的OpenGL程序。第3章~第9章,主要介绍了进行三维绘制所需要的基本要素,包括基本图形绘制、颜色、光照和材质、显示列表、位图和图像、纹理映射以及混合等方面。第10章~第21章详述了对三维场景的优化方法及其相关高级特性,主要涉及字体、反走样、雾、各种几何处理、多种高级纹理映射和光照技术、阴影和拾取。第22章~26章详述了在各种3D系统开发中用到的典型技术,包括动画、摄影机漫游、天空和地形绘制以及粒子系统。第27章和第28章分别介绍了目前得到广泛应用的OpenGL的着色语言和在移动设备上使用的移动图形库—OpenGL ES。
  本书第4,6,9,11,12,13,16和28章由浙江大学宁波理工学院陈根浪老师编写;其余部分由浙江工商大学杨柏林副教授编写;全书的示例程序由徐静女士调试实现。在编写过程中,作者参考了国内外有关OpenGL的书刊和文献资料,并得到了《OpenGL游戏编程》原作者之一的王琬先生的大力支持和协助,特此表示感谢。
  由于时间仓促和水平有限,书中疏漏之处在所难免,希望读者提出宝贵意见,以便再版时修正。如有任何问题,请发邮件至programminggame@gmailcom。
编者
2010年4月

上架指导

计算机\程序设计

封底文字

本书将从实际应用的角度出发,全书以OpenGL在实际应用中频繁出现的技术重点和难点为讲解内容,完全以对实例的精心讲解贯穿全书,并在各个实例中穿插OpenGL和3D图形学的相关原理和概念,舍弃OpenGL中与实际3D图形应用开发关联不大的琐碎知识细节,以一种全新的方式引导读者快速掌握实际开发中所必须掌握的最重要,最实用的概念、原理和编程技巧,事半功倍的进入相关开发领域。

本书力求通过翔实有趣,操作性强,有实用价值的例子帮助读者领会图形学理论,并先在实践上获得深刻的感性认识。本书中的实例代码都是从大量实际应用中精心筛选出来的,并经过适当的修改、完善和严格测试,它们不但有较大的教学和研究价值,而且也能为该领域的中、高级开发人员方便地提供实际项目中所需的可复用代码。如果读者辅之一本计算机图形学理论书和一本OpenGL接口参考文档,效果将更好,再将书中实例都调试通过并有所思考最后必有所得。最终,通过本书,读者可以学习到OpenGL在3D图形开发中最重要最实用的知识和技能。

作者简介

杨柏林 陈根浪 徐静 编著:暂无简介

图书目录


前言
第1章OpenGL图形开发快速入门
11OpenGL基础知识
111OpenGL的历史
112OpenGL 的特点
123D图形学理论入门
121点
122向量
123矩阵
124变换
125投影
126裁剪
127光照
第2章OpenGL程序框架
21窗口渲染环境
211GDI设备环境
212OpenGL渲染环境
22窗口创建
221Win32 SDK风格的框架
222面向对象风格的框架
23增加环境设置选项
第3章OpenGL基本图形的绘制
31OpenGL的数据类型
32函数命名的语法
33OpenGL是一种状态机
34OpenGL变换
341视点变换
342模型变换
343投影变换
344视口变换
345裁剪变换
35OpenGL基本图形的绘制
36OpenGL基本图元的属性细节
第4章OpenGL颜色及3D图形的绘制
41计算机颜色
42OpenGL颜色模式
43着色模式
44顶点数组
453D彩色物体绘制实例
第5章OpenGL光照和材质
51光照及材质介绍
52OpenGL光照模型
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1BMP位图介绍
832TGA介绍
833纹理资源的载入
84纹理映射实例
第9章混合
91混合因子
92启用混合
93实现步骤
94混合实例
第10章字体
101OpenGL显示英文字体
1011平面文字的显示
1012立体文字的显示
102OpenGL显示中文
10213D文字的显示
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1OpenGL扩展
1611扩展名
1612使用OpenGL扩展
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1Sphere Mapping实例
1832Cube 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1LOD技术简介
252ROAM模型
253ROAM简单实例
254ROAM地形实例
第26章粒子系统
261粒子系统简介
262粒子系统类
263暴雪实例类
第27章OpenGL着色语言
271OpenGL着色语言简介
272OpenGL着色语言环境设置
2721着色器创建流程
2722创建一个着色器
2723创建一个程序
2724查询函数与清理工作
2725OpenGL与OpenGL着色语言的通信
273GLSL语法基础
2731数据类型
2732变量限定符
2733流控制
2734函数
274实例分析
2741GLSL简单实例
2742颜色处理实例
2743变形实例
第28章OpenGL ES应用基础
281OpenGL ES和EGL
2811OpenGL ES介绍
2812EGL介绍
282OpenGL ES初始化方法
283OpenGL ES应用实例
2831OpenGL ES在Windows CE上的使用
2832OpenGL ES在BREW上的使用
2833OpenGL ES在Java上的使用
参考文献

教学资源推荐
作者: 许志闻 郭晓新 杨瀛涛 主编 王云霄 高占恒 徐长青 参编
作者: (美)塞巴斯蒂安·拉施卡(Sebastian Raschka),瓦希德·米尔贾利利(Vahid Mirjalili)著
作者: 沈华 杨晓艳 马驰 杨华 编著
作者: [美] 迈克尔·米森马彻(Michael Mitzenmacher) 伊莱·阿法尔(Eli Upfal) 著
参考读物推荐
作者: (美)H.L.Royden, P. M. Fitzpatrick 著
作者: (美)William Green, John D.Olson