OpenGL编程指南(第七版)

所需积分/C币:32 2016-01-30 21:04:24 24.13MB PDF
收藏 收藏
举报

本书对OpenGL 以及OpenGL 实用函数库进行了全面而又权威的介绍,素有“OpenGL 红宝书”之誉。本书的上一个版本覆盖了OpenGL 2.1 版的所有内容。本版涵盖了OpenGL 3.0 和3.1 的最新特性。本书以清晰的语言描述了OpenGL 的功能以及许多基本的计算机图形技 巧,例如,创建和渲染3D 模型、从不同的透视角度观察物体、使用着色、光照和纹理贴图 使场景更加逼真等。另外,本书还深入探讨了许多高级技巧,包括纹理贴图、抗锯齿、雾和 大气效果、NURBS、图像处理等。本书内容详实,讲解生动,图文并茂,是OpenGL 程序员的 绝佳编程指南。
目录 译者序 前言 第1章Open(L简介1 1什么是 OpengL1 1.2一段简单的 OpengL代码3 13Open(GL函数的语法4 14 Opengl是一个状态机6 1.5Opn(L渲染管线6 1.5.1显示列表7 1.5.2求值器7 1.53基于顶点的操作7 1.54图元装配7 1.5.5像素操作8 1.5.6纹理装配8 1.57光栅化8 1.5.8片断操作8 16与 Opengl相关的函数库9 16.1包含文件9 1.62 OpengL实用工具库(GLUT)10 1.7动画13 17.1暂停刷新14 1.72动画-重绘+交换15 18Opn(L及其废弃机制17 1.81 OpengL渲染环境17 1.8.2访问 OpengL函数18 第2章状态管理和绘制几何物体19 2.1绘图工具箱20 21.1清除窗口20 2.1.2指定颜色22 2.1.3強制完成绘图操作23 2.14坐标系统工具箱24 22描述点、直线和多边形25 221什么是点、直线和多边形25 222指定顶点27 223 Opengl几何图元27 23基本状态管理3 24显示点、直线和多边形32 241点的细节32 242直线的细节33 243多边形的细节36 2.5法线向量41 2.6顶点数组43 261步骤:启用数组44 26.2步骤2:指定数组的数据44 2.6.3步骤3:解引用和渲染46 2.64重启图元51 265实例化绘制53 2.6.6混合数组54 2.7缓冲区对象57 2.7.1创建缓冲区对象57 2.7.2激活缓冲区对象58 2.7.3用数据分配和初始化缓冲区对象58 2.74更新缓冲区对象的数据值60 2.7.5在缓冲区对象之间复制数据62 2.7.6清除缓冲区对象63 277使用缓冲区对象存储顶点数组数据63 28顶点数组对象65 29属性组69 2.10创建多边形表面模型的一些提示71 第3章视图77 3.1简介:用照相机打比方78 3.11一个简单的例子:绘制立方体80 3.1.2通用的变换函数83 3.2视图和模型变换84 32.1对变换进行思考85 3.2.2模型变换86 3.23视图变换89 3.3投影变换93 3.3.1透视投影94 33.2正投影95 333视景体裁剪96 34视口变换96 34.1定义视冂96 342变换深度坐标97 3.5和变换相关的故障排除98 3.6操纵矩阵堆栈100 3.61模型视图矩阵堆栈01 3.62投影矩阵堆栈102 3.7其他裁剪平面102 3.8一些组合变换的例子104 3.8.1创建太阳系模型104 38.2创建机器人手臂107 3.9逆变换和模拟变换109 第4章颜色113 4.1颜色感知113 4.2计算机颜色114 4.3RGBA和颜色索引模式115 4.3.1RGBA显示模式116 432颜色索引模式117 4.3.3在RGBA和颜色索引模式中进行选择118 4.34切换显示模式118 44指定颜色和着色模型119 44.1在RGBA模式下指定颜色119 4.4.2在颜色索引模式下指定颜色120 4.4.3指定着色模型121 第5章光照123 5.1隐藏表面消除工具箱124 52现实世界和 OpengL光照125 5.2.1环境光、散射光、镜面光和发射光125 522材料颜色126 523光和材料的RGB值126 53一个简单的例子:渲染光照球体127 5.4创建光源129 54.l颜色130 542位置和衰减131 5.43聚光灯132 544多光源133 54.5控制光源的位置和方向133 5.5选择光照模型138 5.51全局环境光138 5.52局部的观察点或无限远的观察点138 553义面光照139 5.54镜面辅助颜色139 555启用光照140 5.6定义材料属性140 56.1散射和环境反射141 562镜面反射141 563发射光颜色142 5.6.4更改材料属性142 565颜色材料模式143 57和光照有关的数学知识146 57.1材料的发射光147 5.72经过缩放的全局环境光147 573光源的贡献147 574完整的光照计算公式148 5.7.5镜面辅助颜色148 58颜色索引模式卜的光照149 第6章混合、抗锯齿、雾和多边形偏移151 6.1混合152 6.1.1源因子和日标因子152 6.1.2启用混合154 61.3使用混合方程式组合像素154 6.14混合的样例用法156 6.1.5一个混合的例子157 6.1.6使用深度缓冲区进行三维混合159 6.,2抗锯齿162 6.2.1对点和直线进行抗锯齿处理164 622使用多重采样对几何图元进行抗锯齿处理169 62.3对多边形进行抗锯齿处理172 63雾172 6.3.1使用雾173 6.32雾方程式175 6.4点参数181 6.5多边形偏移182 第7章显示列表185 7.1为什么使用显小列表185 72个使用显示列表的例了186 7.3显示列表的设计哲学188 7.4创建和执行显示列表189 7.41命名和创建显小列表191 742存储在显示列表里的是什么191 74.3执行显示列表193 7.44层次式显示列表193 7.4.5管理显小列表索引194 7.5执行多个显示列表194 7.6用显示列表管理状态变量199 第8章绘制像素、位图、字体和图像202 8.1位图和字体203 811当前光栅位置204 8.1.2绘制位图205 8.1.3选择位图的颜色206 8.14字体和显示列表206 8.1.5定义和使用一种完整的字体207 82图像209 8.3图像管线215 8.3.1像素包装和解包216 8.3.2控制像素存储模式217 8.3.3像素传输操作219 834像素映射221 8.3.5放大、缩小或翻转图像222 84读取和绘制像素矩形224 8.5使用缓冲区对象存取像素矩形数据227 8.51使用缓冲区对象传输像素数据227 8.5,2使用缓冲区对象提取像素数据228 86提高像素绘图速度的技巧229 8.7图像处理子集230 871颜色表231 8.72卷积234 8.73颜色矩阵240 8.74柱状图241 8.7.5最小最大值243 第9章纹理贴图245 9.1概述和示例248 91.1纹理贴图的步骤248 91.2一个小例程序249 92指定纹理251 92.1纹理代理255 922替换纹理图像的全部或一部分257 92.3一维纹理259 924三维纹理261 9.2.5纹理数组264 9,2.6压缩纹理图像265 927使用纹理边框267 928 mipmap:多重细节层267 9.3过滤27594纹理对象277 9.41命名纹理对象277 42创建和使用纹理对象278 943清除纹理对象280 944常驻纹理工作集280 95纹理函数282 96分配纹理坐标284 96.1计算正确的纹理坐标285 96.2重复和截取纹理286 97纹理坐标自动生成289 971创建轮廓线289 972球体纹理293 9.7.3立方图纹理294 98多重纹理296 99纹理组合器函数299 910在纹理之后应用辅助颜色303 9.10.1在禁用光照时使用辅助颜色303 910.2启用光照后的辅助镜面颜色303 911点块纹理303 912纹理矩阵堆栈304 9.13深度纹理305 9.13.1创建阴影图306 9132生成纹埋坐标并进行渲染307 第10章帧缓冲区309 10.1缓冲区及其用途310 10.1.1颜色缓冲区311 10.12清除缓冲区312 10.1.3选择用于读取和写入的颜色缓冲区313 10.14缓冲区的屏蔽315 10.2片断测试和操作316 1021裁剪测试316 10.2.2 alpha测试317 10.2.3模板测试318 10.24深度测试322 10.25遮挡査询322 10.26条件渲染324 10.2.7混合、抖动和逻辑操作325 10.3累积缓冲区327 0.3.l运动模糊328 10.3.2景深328 103.3柔和阴影331 10.34微移331 104喷缓冲区对象332 1041涫染缓冲区333 10.42复制像素矩形340 第11章分格化和二次方程表面342 111多边形分格化342 11.1.1创建分格化对象343 111.2分格化回调函数343 111.3分格化属性347 1114多边形定义350 11.1.5删除分格化对象352 11.1.6提高分格化性能的建议352 111.7描述GLU错误352 118向后兼容性352 11.2二次方程表面:渲染球体、圆柱体和圆盘353 11.2.1管理二次方程对象354 11.22控制二次方程对象的属性354 l12.3次方程图元355 第12章求值器和 NURBS360 12.1前提条件360 122求值器361 122.1一维求值器361 1222二维求值器365 12.2.3使用求值器进行纹理处理369 123GLU的 NURBS接山371 123.1一个简单的 NURBS例子37 12.3.2管理 NURBS对象374 1233创建 NURBS曲线或表面377 12.34修剪 NURBS表面380 第13章选择和反馈383 13.1选择383 131.1基木步骤384 13.12创建名字栈384 13.1.3点击记录385 13.14一个选择例子386 13.1.5挑选389 13.1.6缤写使用选择的程序的一些建议397 13.2反馈398 13.2.1反馈数组399 1322在反馈模式下使用标记400 1323一个反馈例子400 第14章 OpenGL高级技巧404 14.1错误处理405

...展开详情
试读 127P OpenGL编程指南(第七版)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
最新推荐
OpenGL编程指南(第七版) 32积分/C币 立即下载
1/127
OpenGL编程指南(第七版)第1页
OpenGL编程指南(第七版)第2页
OpenGL编程指南(第七版)第3页
OpenGL编程指南(第七版)第4页
OpenGL编程指南(第七版)第5页
OpenGL编程指南(第七版)第6页
OpenGL编程指南(第七版)第7页
OpenGL编程指南(第七版)第8页
OpenGL编程指南(第七版)第9页
OpenGL编程指南(第七版)第10页
OpenGL编程指南(第七版)第11页
OpenGL编程指南(第七版)第12页
OpenGL编程指南(第七版)第13页
OpenGL编程指南(第七版)第14页
OpenGL编程指南(第七版)第15页
OpenGL编程指南(第七版)第16页
OpenGL编程指南(第七版)第17页
OpenGL编程指南(第七版)第18页
OpenGL编程指南(第七版)第19页
OpenGL编程指南(第七版)第20页

试读结束, 可继续阅读

32积分/C币 立即下载 >