图书介绍

OpenGL编程指南 原书第6版PDF|Epub|txt|kindle电子书版本网盘下载

OpenGL编程指南 原书第6版
  • (美)DaveShreiner著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111242017
  • 出版时间:2008
  • 标注页数:499页
  • 文件大小:55MB
  • 文件页数:513页
  • 主题词:图形软件,OpenGL-程序设计-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

OpenGL编程指南 原书第6版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 OpenGL简介1

1.1什么是OpenGL1

1.2一段简单的OpenGL代码3

1.3 OpenGL函数的语法4

1.4 OpenGL是个状态机5

1.5 OpenGL渲染管线6

1.5.1显示列表7

1.5.2求值器7

1.5.3基于顶点的操作7

1.5.4图元装配7

1.5.5像素操作7

1.5.6纹理装配8

1.5.7光栅化8

1.5.8片断操作8

1.6与OpenGL相关的函数库8

1.6.1包含文件9

1.6.2 GLUT,OpenGL实用工具库10

1.7动画12

1.7.1暂停刷新13

1.7.2动画=重绘+交换14

第2章 状态管理和绘制几何物体16

2.1绘图工具箱17

2.1.1清除窗口17

2.1.2指定颜色19

2.1.3强制完成绘图操作20

2.1.4坐标系统工具箱21

2.2描述点、直线和多边形21

2.2.1什么是点、直线和多边形22

2.2.2指定顶点24

2.2.3 OpenGL几何图元24

2.3基本状态管理28

2.4显示点、直线和多边形29

2.4.1点的细节29

2.4.2直线的细节30

2.4.3多边形的细节33

2.5法线向量38

2.6顶点数组39

2.6.1步骤1:启用数组40

2.6.2步骤2:指定数组的数据41

2.6.3步骤3:解引用和渲染43

2.6.4混合数组47

2.7缓冲区对象50

2.7.1创建缓冲区对象50

2.7.2激活缓冲区对象50

2.7.3用数据分配和初始化缓冲区对象51

2.7.4更新缓冲区对象的数据值52

2.7.5清除缓冲区对象53

2.7.6使用缓冲区对象存储顶点数组数据53

2.8属性组55

2.9创建多边形表面模型的一些提示57

第3章 视图63

3.1简介:照相机比喻64

3.1.1一个简单的例子:绘制立方体66

3.1.2通用的变换函数69

3.2视图和模型变换70

3.2.1对变换进行思考71

3.2.2模型变换73

3.2.3视图变换76

3.3投影变换80

3.3.1透视投影80

3.3.2正投影82

3.3.3视景体裁剪83

3.4视口变换83

3.4.1定义视口83

3.4.2变换深度坐标84

3.5和变换相关的故障排除84

3.6操纵矩阵堆栈86

3.6.1模型视图矩阵堆栈88

3.6.2投影矩阵堆栈88

3.7其他裁剪平面89

3.8一些组合变换的例子91

3.8.1创建太阳系模型91

3.8.2创建机器人手臂93

3.9逆变换和模拟变换96

第4章 颜色99

4.1颜色感知99

4.2计算机颜色100

4.3 RGBA和颜色索引模式102

4.3.1 RGBA显示模式102

4.3.2颜色索引模式104

4.3.3在RGBA和颜色索引模式中进行选择104

4.3.4切换显示模式105

4.4指定颜色和着色模型105

4.4.1在RGBA模式下指定颜色106

4.4.2在颜色索引模式下指定颜色106

4.4.3指定着色模型107

第5章 光照110

5.1隐藏表面消除工具箱111

5.2现实世界和OpenGL光照112

5.2.1环境光、散射光、镜面光和发射光113

5.2.2材料颜色113

5.2.3光和材料的RGB值113

5.3一个简单的例子:渲染光照球体114

5.4创建光源116

5.4.1颜色118

5.4.2位置和衰减111

5.4.3聚光灯119

5.4.4多光源120

5.4.5控制光源的位置和方向121

5.5选择光照模型125

5.5.1全局环境光126

5.5.2局部的观察点或无限远的观察点126

5.5.3双面光照126

5.5.4镜面辅助颜色126

5.5.5启用光照127

5.6定义材料属性127

5.6.1散射和环境反射128

5.6.2镜面反射129

5.6.3发射光颜色129

5.6.4更改材料属性129

5.6.5颜色材料模式131

5.7和光照有关的数学知识133

5.7.1材料的发射光134

5.7.2经过缩放的全局环境光134

5.7.3光源的贡献134

5.7.4完整的光照计算公式135

5.7.5镜面辅助颜色136

5.8颜色索引模式下的光照136

第6章 混合、抗锯齿、雾和多边形偏移138

6.1混合139

6.1.1源因子和目标因子139

6.1.2启用混合141

6.1.3使用混合方程式组合像素141

6.1.4混合的样例用法143

6.1.5一个混合的例子144

6.1.6使用深度缓冲区进行三维混合146

6.2抗锯齿149

6.2.1对点和直线进行抗锯齿处理150

6.2.2使用多重采样对几何图元进行抗锯齿处理155

6.2.3对多边形进行抗锯齿处理158

6.3雾158

6.3.1使用雾159

6.3.2雾方程式161

6.4点参数166

6.5多边形偏移168

第7章 显示列表170

7.1为什么使用显示列表170

7.2一个使用显示列表的例子171

7.3显示列表的设计哲学173

7.4创建和执行显示列表174

7.4.1命名和创建显示列表175

7.4.2存储在显示列表里的是什么176

7.4.3执行显示列表177

7.4.4层次式显示列表178

7.4.5管理显示列表索引179

7.5执行多个显示列表179

7.6用显示列表管理状态变量183

第8章 绘制像素、位图、字体和图像186

8.1位图和字体187

8.1.1当前光栅位置188

8.1.2绘制位图189

8.1.3选择位图的颜色190

8.1.4字体和显示列表190

8.1.5定义和使用一种完整的字体191

8.2图像193

8.3图像管线198

8.3.1像素包装和解包199

8.3.2控制像素存储模式200

8.3.3像素传输操作203

8.3.4像素映射204

8.3.5放大、缩小或翻转图像205

8.4读取和绘制像素矩形208

8.4.1像素矩形的绘制过程208

8.4.2像素矩形的读取过程209

8.5使用缓冲区对象存取像素矩形数据210

8.5.1使用缓冲区对象传输像素数据210

8.5.2使用缓冲区对象提取像素数据212

8.6提高像素绘图速度的技巧213

8.7图像处理子集213

8.7.1颜色表214

8.7.2卷积218

8.7.3颜色矩阵222

8.7.4柱状图224

8.7.5最小最大值226

第9章 纹理贴图228

9.1概述和示例231

9.1.1纹理贴图的步骤231

9.1.2一个示例程序232

9.2指定纹理234

9.2.1纹理代理237

9.2.2替换纹理图像的全部或一部分238

9.2.3一维纹理240

9.2.4三维纹理242

9.2.5压缩纹理图像245

9.2.6使用纹理边框247

9.2.7 mipmap:多重细节层247

9.3过滤254

9.4纹理对象256

9.4.1命名纹理对象256

9.4.2创建和使用纹理对象257

9.4.3清除纹理对象259

9.4.4常驻纹理工作集259

9.5纹理函数260

9.6分配纹理坐标263

9.6.1计算正确的纹理坐标264

9.6.2重复和截取纹理265

9.7纹理坐标自动生成268

9.7.1创建轮廓线268

9.7.2球体纹理272

9.7.3立方图纹理273

9.8多重纹理274

9.9纹理组合器函数278

9.10在纹理之后应用辅助颜色282

9.10.1在禁用光照时使用辅助颜色282

9.10.2启用光照后的辅助镜面颜色282

9.11点块纹理282

9.12纹理矩阵堆栈283

9.13深度纹理284

9.13.1创建阴影图284

9.13.2生成纹理坐标并进行渲染285

第10章 帧缓冲区288

10.1缓冲区及其用途289

10.1.1颜色缓冲区290

10.1.2清除缓冲区291

10.1.3选择用于读取和写入的颜色缓冲区291

10.1.4缓冲区的屏蔽293

10.2片断测试和操作293

10.2.1裁剪测试294

10.2.2 alpha测试294

10.2.3模板测试295

10.2.4深度测试299

10.2.5遮挡查询300

10.2.6混合、抖动和逻辑操作301

10.3累积缓冲区303

10.3.1场景抗锯齿304

10.3.2运动模糊308

10.3.3景深309

10.3.4柔和阴影311

10.3.5微移311

第11章 分格化和二次方程表面313

11.1多边形分格化313

11.1.1创建分格化对象314

11.1.2分格化回调函数314

11.1.3分格化属性318

11.1.4多边形定义321

11.1.5删除分格化对象323

11.1.6提高分格化性能的建议323

11.1.7描述GLU错误323

11.1.8向后兼容性323

11.2二次方程表面:渲染球体、圆柱体和圆盘324

11.2.1管理二次方程对象325

11.2.2控制二次方程对象的属性325

11.2.3二次方程图元326

第12章 求值器和NURBS331

12.1前提条件331

12.2求值器332

12.2.1一维求值器332

12.2.2二维求值器336

12.2.3使用求值器进行纹理处理339

12.3 GLU的NURBS接口341

12.3.1一个简单的NURBS例子341

12.3.2管理NURBS对象344

12.3.3创建NURBS曲线或表面347

12.3.4修剪NURBS表面350

第13章 选择和反馈353

13.1选择353

13.1.1基本步骤354

13.1.2创建名字堆栈354

13.1.3点击记录355

13.1.4一个选择例子356

13.1.5挑选358

13.1.6编写使用选择的程序的一些建议366

13.2反馈367

13.2.1反馈数组368

13.2.2在反馈模式下使用标记369

13.2.3一个反馈例子369

第14章 OpenGL高级技巧373

14.1错误处理374

14.2 OpenGL版本375

14.2.1工具函数库版本76

14.2.2窗口系统扩展版本376

14.3标准的扩展376

14.4实现半透明效果378

14.5轻松实现淡出效果378

14.6使用后缓冲区进行物体选择379

14.7低开销的图像转换380

14.8显示层次381

14.9抗锯齿字符381

14.10绘制圆点383

14.11图像插值383

14.12制作贴花383

14.13使用模板缓冲区绘制填充的凹多边形384

14.14寻找冲突区域385

14.15 阴影386

14.16隐藏直线消除387

14.16.1使用多边形偏移实现隐藏直线消除387

14.16.2使用模版缓冲区实现隐藏直线消除388

14.17纹理贴图的应用388

14.18绘制深度缓冲的图像389

14.19 Dirichlet域389

14.20使用模板缓冲区实现生存游戏390

14.21 glDrawPixels()和glCopyPixels()的其他应用391

第15章 OpenGL着色语言393

15.1 OpenGL图形管线和可编程着色器393

15.1.1顶点处理394

15.1.2片断处理395

15.2使用GLSL着色器396

15.2.1着色器示例396

15.2.2 OpenGL/GLSL接口396

15.3 OpenGL着色语言401

15.4使用GLSL创建着色器401

15.4.1程序起点401

15.4.2声明变量402

15.4.3聚合类型403

15.4.4计算不变性408

15.4.5语句409

15.4.6函数411

15.4.7在GLSL程序中使用OpenGL状态值412

15.5在着色器中访问纹理贴图412

15.6着色器预处理器413

15.6.1预处理器指令414

15.6.2宏定义414

15.6.3预处理器条件414

15.6.4编译器控制415

15.6.5扩展处理415

15.6.6预点着色器的细节416

15.6.7片断着色器420

附录A 操作顺序422

附录B 状态变量426

附录C OpenGL和窗口系统447

附录D GLUT(OpenGL实用工具库)基础知识461

附录E 计算法线向量465

附录F 齐次坐标和变换矩阵469

附录G 编程提示473

附录H OpenGL的不变性规则476

附录I OpenGL着色语言内置的变量和函数477

术语表491

热门推荐