• OpenGL编程指南(原书第7版)
  • OpenGL编程指南(原书第7版)
  • OpenGL编程指南(原书第7版)
21年品牌 40万+商家 超1.5亿件商品

OpenGL编程指南(原书第7版)

23 2.6折 89 九五品

仅1件

北京昌平
认证卖家担保交易快速发货售后保障

作者[美]施瑞奈尔 著;李军 译

出版社机械工业出版社

出版时间2010-03

版次1

装帧平装

上书时间2024-05-17

   商品详情   

品相描述:九五品
图书标准信息
  • 作者 [美]施瑞奈尔 著;李军 译
  • 出版社 机械工业出版社
  • 出版时间 2010-03
  • 版次 1
  • ISBN 9787111294504
  • 定价 89.00元
  • 装帧 平装
  • 开本 大16开
  • 纸张 胶版纸
  • 页数 519页
  • 正文语种 简体中文
  • 原版书名 OpenGL programming guide
  • 丛书 开发人员专业技术丛书
【内容简介】
  本书对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉。本书的上一个版本覆盖了到OpenGL2.1版的内容。本版涵盖了OpenGL3.0和3.1的最新特性。本书以清晰的语言描述了OpenGL的功能以及许多基本的计算机图形技巧,例如创建和渲染3D模型、从不同的透视角度观察物体、使用着色、光照和纹理贴图使场景更加逼真等。另外,本书还深入探讨了许多高级技巧,包括纹理贴图、抗锯齿、雾和大气效果、NURBS、图像处理子集等。此外,本书还对一些重要的主题进行了讨论,例如提高性能、OpenGL扩展以及跨平台技术等。本书内容详实,讲解生动,图文并茂,是OpenGL程序员的绝佳编程指南。
  OpenGL是一种功能强大的软件接口,既可以用于生成高质量的计算机图像,也可以用于编写使用2D和3D物体、位图和彩色图像的交互式应用程序。
  本书对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉。本书的上一个版本覆盖了截止OpenGL2.1版的内容。这一版涵盖了OpenGL3.0和3.1的最新特性。本书以清晰的语言描述了OpenGL的功能以及许多基本的计算机图形技巧,例如创建和渲染3D模型、从不同的透视角度观察物体、使用着色、光照和纹理贴图使场景更加逼真等。本书还深入探讨了许多高级技巧,包括纹理贴图、抗锯齿、雾和大气效果、NURBS、图像处理等。另外,本书还对一些重要的主题进行了讨论,例如提高性能、OpenGL扩展以及跨平台技术等。
  本书进行了一些更新,涵盖了OpenGL3.0和3.1的最新特性,包括:
  使用帧缓冲区对象进行离屏渲染和纹理更新。
  各种新的缓冲区对象类型的示例,包括uniform缓冲区对象、变换反馈缓冲区和顶点数组对象。
  使用纹理数组提高使用众多纹理的性能。
  使用图元重启和条件渲染来高效地进行渲染。
  介绍OpenGL的废弃机制,以及如何针对OpenGL未来版本验证程序。
  本书继续对OpenGL着色语言(GLSL)展开讨论,并解释了使用这种语言创建复杂图形效果并提升OpenGL计算威力的机制。OpenGL技术资料库(OpenGLTechnicalLibrary)提供了大量的OpenGL教程和参考书籍,它可以帮助程序员深入理解OpenGL,完全释放OpenGL的潜力。这个资料库最初由SGI开发,目前由KhronosOpenGL体系结构审核委员会(ARB)工作组维护,这是负责指导OpenGL以及相关技术发展和演变的行业协会。
【作者简介】
Dave Shreiner 是ARM公司的图形技术总监,长期担任SGI核心OpenGL组的成员。他首次开设了OpenGL的商业培训课程,拥有二十多年的计算机图形应用开发经验。Dave定期参加SIGGRAPH和其他全球性的图形工作会议。他是《OpenGL ES 2.0 Programming Guide》(Addison-Wesley,2009)和
【目录】
译者序
前言
第1章OpenGL简介1
1.1什么是OpenGL1
1.2一段简单的OpenGL代码3
1.3OpenGL函数的语法4
1.4OpenGL是一个状态机6
1.5OpenGL渲染管线6
1.5.1显示列表7
1.5.2求值器7
1.5.3基于顶点的操作7
1.5.4图元装配7
1.5.5像素操作8
1.5.6纹理装配8
1.5.7光栅化8
1.5.8片断操作8
1.6与OpenGL相关的函数库9
1.6.1包含文件9
1.6.2OpenGL实用工具库(GLUT)10
1.7动画13
1.7.1暂停刷新14
1.7.2动画=重绘+交换15
1.8OpenGL及其废弃机制17
1.8.1OpenGL渲染环境17
1.8.2访问OpenGL函数18

第2章状态管理和绘制几何物体19
2.1绘图工具箱20
2.1.1清除窗口20
2.1.2指定颜色22
2.1.3强制完成绘图操作23
2.1.4坐标系统工具箱24
2.2描述点、直线和多边形25
2.2.1什么是点、直线和多边形25
2.2.2指定顶点27
2.2.3OpenGL几何图元27
2.3基本状态管理31
2.4显示点、直线和多边形32
2.4.1点的细节32
2.4.2直线的细节33
2.4.3多边形的细节36
2.5法线向量41
2.6顶点数组43
2.6.1步骤1:启用数组44
2.6.2步骤2:指定数组的数据44
2.6.3步骤3:解引用和渲染46
2.6.4重启图元51
2.6.5实例化绘制53
2.6.6混合数组54
2.7缓冲区对象57
2.7.1创建缓冲区对象57
2.7.2激活缓冲区对象58
2.7.3用数据分配和初始化缓冲区对象58
2.7.4更新缓冲区对象的数据值60
2.7.5在缓冲区对象之间复制数据62
2.7.6清除缓冲区对象63
2.7.7使用缓冲区对象存储顶点数组数据63
2.8顶点数组对象65
2.9属性组69
2.10创建多边形表面模型的一些提示71

第3章视图77
3.1简介:用照相机打比方78
3.1.1一个简单的例子:绘制立方体80
3.1.2通用的变换函数83
3.2视图和模型变换84
3.2.1对变换进行思考85
3.2.2模型变换86
3.2.3视图变换89
3.3投影变换93
3.3.1透视投影94
3.3.2正投影95
3.3.3视景体裁剪96
3.4视口变换96
3.4.1定义视口96
3.4.2变换深度坐标97
3.5和变换相关的故障排除98
3.6操纵矩阵堆栈100
3.6.1模型视图矩阵堆栈101
3.6.2投影矩阵堆栈102
3.7其他裁剪平面102
3.8一些组合变换的例子104
3.8.1创建太阳系模型104
3.8.2创建机器人手臂107
3.9逆变换和模拟变换109

第4章颜色113
4.1颜色感知113
4.2计算机颜色114
4.3RGBA和颜色索引模式115
4.3.1RGBA显示模式116
4.3.2颜色索引模式117
4.3.3在RGBA和颜色索引模式中进行选择118
4.3.4切换显示模式118
4.4指定颜色和着色模型119
4.4.1在RGBA模式下指定颜色119
4.4.2在颜色索引模式下指定颜色120
4.4.3指定着色模型121

第5章光照123
5.1隐藏表面消除工具箱124
5.2现实世界和OpenGL光照125
5.2.1环境光、散射光、镜面光和发射光125
5.2.2材料颜色126
5.2.3光和材料的RGB值126
5.3一个简单的例子:渲染光照球体127
5.4创建光源129
5.4.1颜色130
5.4.2位置和衰减131
5.4.3聚光灯132
5.4.4多光源133
5.4.5控制光源的位置和方向133
5.5选择光照模型138
5.5.1全局环境光138
5.5.2局部的观察点或无限远的观察点138
5.5.3双面光照139
5.5.4镜面辅助颜色139
5.5.5启用光照140
5.6定义材料属性140
5.6.1散射和环境反射141
5.6.2镜面反射141
5.6.3发射光颜色142
5.6.4更改材料属性142
5.6.5颜色材料模式143
5.7和光照有关的数学知识146
5.7.1材料的发射光147
5.7.2经过缩放的全局环境光147
5.7.3光源的贡献147
5.7.4完整的光照计算公式148
5.7.5镜面辅助颜色148
5.8颜色索引模式下的光照149

第6章混合、抗锯齿、雾和多边形偏移151
6.1混合152
6.1.1源因子和目标因子152
6.1.2启用混合154
6.1.3使用混合方程式组合像素154
6.1.4混合的样例用法156
6.1.5一个混合的例子157
6.1.6使用深度缓冲区进行三维混合159
6.2抗锯齿162
6.2.1对点和直线进行抗锯齿处理164
6.2.2使用多重采样对几何图元进行抗锯齿处理169
6.2.3对多边形进行抗锯齿处理172
6.3雾172
6.3.1使用雾173
6.3.2雾方程式175
6.4点参数181
6.5多边形偏移182

第7章显示列表185
7.1为什么使用显示列表185
7.2一个使用显示列表的例子186
7.3显示列表的设计哲学188
7.4创建和执行显示列表189
7.4.1命名和创建显示列表191
7.4.2存储在显示列表里的是什么191
7.4.3执行显示列表193
7.4.4层次式显示列表193
7.4.5管理显示列表索引194
7.5执行多个显示列表194
7.6用显示列表管理状态变量199

第8章绘制像素、位图、字体和图像202
8.1位图和字体203
8.1.1当前光栅位置204
8.1.2绘制位图205
8.1.3选择位图的颜色206
8.1.4字体和显示列表206
8.1.5定义和使用一种完整的字体207
8.2图像209
8.3图像管线215
8.3.1像素包装和解包216
8.3.2控制像素存储模式217
8.3.3像素传输操作219
8.3.4像素映射221
8.3.5放大、缩小或翻转图像222
8.4读取和绘制像素矩形224
8.5使用缓冲区对象存取像素矩形数据227
8.5.1使用缓冲区对象传输像素数据227
8.5.2使用缓冲区对象提取像素数据228
8.6提高像素绘图速度的技巧229
8.7图像处理子集230
8.7.1颜色表231
8.7.2卷积234
8.7.3颜色矩阵240
8.7.4柱状图241
8.7.5最小最大值243

第9章纹理贴图245
9.1概述和示例248
9.1.1纹理贴图的步骤248
9.1.2一个示例程序249
9.2指定纹理251
9.2.1纹理代理255
9.2.2替换纹理图像的全部或一部分257
9.2.3一维纹理259
9.2.4三维纹理261
9.2.5纹理数组264
9.2.6压缩纹理图像265
9.2.7使用纹理边框267
9.2.8mipmap:多重细节层267
9.3过滤275
9.4纹理对象277
9.4.1命名纹理对象277
9.4.2创建和使用纹理对象278
9.4.3清除纹理对象280
9.4.4常驻纹理工作集280
9.5纹理函数282
9.6分配纹理坐标284
9.6.1计算正确的纹理坐标285
9.6.2重复和截取纹理286
9.7纹理坐标自动生成289
9.7.1创建轮廓线289
9.7.2球体纹理293
9.7.3立方图纹理294
9.8多重纹理296
9.9纹理组合器函数299
9.10在纹理之后应用辅助颜色303
9.10.1在禁用光照时使用辅助颜色303
9.10.2启用光照后的辅助镜面颜色303
9.11点块纹理303
9.12纹理矩阵堆栈304
9.13深度纹理305
9.13.1创建阴影图306
9.13.2生成纹理坐标并进行渲染307

第10章帧缓冲区309
10.1缓冲区及其用途310
10.1.1颜色缓冲区311
10.1.2清除缓冲区312
10.1.3选择用于读取和写入的颜色缓冲区313
10.1.4缓冲区的屏蔽315
10.2片断测试和操作316
10.2.1裁剪测试316
10.2.2alpha测试317
10.2.3模板测试318
10.2.4深度测试322
10.2.5遮挡查询322
10.2.6条件渲染324
10.2.7混合、抖动和逻辑操作325
10.3累积缓冲区327
10.3.1运动模糊328
10.3.2景深328
10.3.3柔和阴影331
10.3.4微移331
10.4帧缓冲区对象332
10.4.1渲染缓冲区333
10.4.2复制像素矩形340

第11章分格化和二次方程表面342
11.1多边形分格化342
11.1.1创建分格化对象343
11.1.2分格化回调函数343
11.1.3分格化属性347
11.1.4多边形定义350
11.1.5删除分格化对象352
11.1.6提高分格化性能的建议352
11.1.7描述GLU错误352
11.1.8向后兼容性352
11.2二次方程表面:渲染球体、圆柱体和圆盘353
11.2.1管理二次方程对象354
11.2.2控制二次方程对象的属性354
11.2.3二次方程图元355

第12章求值器和NURBS360
12.1前提条件360
12.2求值器361
12.2.1一维求值器361
12.2.2二维求值器365
12.2.3使用求值器进行纹理处理369
12.3GLU的NURBS接口371
12.3.1一个简单的NURBS例子371
12.3.2管理NURBS对象374
12.3.3创建NURBS曲线或表面377
12.3.4修剪NURBS表面380

第13章选择和反馈383
13.1选择383
13.1.1基本步骤384
13.1.2创建名字栈384
13.1.3点击记录385
13.1.4一个选择例子386
13.1.5挑选389
13.1.6编写使用选择的程序的一些建议397
13.2反馈398
13.2.1反馈数组399
13.2.2在反馈模式下使用标记400
13.2.3一个反馈例子400

第14章OpenGL高级技巧404
14.1错误处理405
14.2OpenGL版本406
14.2.1工具函数库版本407
14.2.2窗口系统扩展版本407
14.3标准的扩展407
14.4实现半透明效果409
14.5轻松实现淡出效果409
14.6使用后缓冲区进行物体选择411
14.7低开销的图像转换411
14.8显示层次412
14.9抗锯齿字符413
14.10绘制圆点414
14.11图像插值414
14.12制作贴花415
14.13使用模板缓冲区绘制填充的凹多边形416
14.14寻找冲突区域416
14.15阴影417
14.16隐藏直线消除418
14.16.1使用多边形偏移实现隐藏直线消除418
14.16.2使用模板缓冲区实现隐藏直线消除419
14.17纹理贴图的应用419
14.18绘制深度缓冲的图像420
14.19Dirichlet域420
14.20使用模板缓冲区实现生存游戏421
14.21glDrawPixels()和glCopyPixels()的其他应用422

第15章OpenGL着色语言424
15.1OpenGL图形管线和可编程着色器424
15.1.1顶点处理425
15.1.2片断处理426
15.2使用GLSL着色器427
15.2.1着色器示例427
15.2.2OpenGL/GLSL接口428
15.3OpenGL着色语言432
15.4使用GLSL创建着色器433
15.4.1程序起点433
15.4.2声明变量433
15.4.3聚合类型434
15.5uniform块439
15.5.1在着色器中指定uniform变量440
15.5.2访问在uniform块中声明的uniform变量440
15.5.3计算不变性446
15.5.4语句446
15.5.5函数448
15.5.6在GLSL程序中使用OpenGL状态值449
15.6在着色器中访问纹理图像449
15.7着色器预处理器452
15.7.1预处理器指令452
15.7.2宏定义452
15.7.3预处理器条件453
15.7.4编译器控制453
15.8扩展处理454
15.9顶点着色器的细节454
15.10变换反馈458
15.11片断着色器462
附录AGLUT(OpenGL实用工具库)基础知识464
附录B状态变量468
附录C齐次坐标和变换矩阵495
附录DOpenGL和窗口系统499
术语表511
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP