分享
 
 
 

《OpenGL超级宝典中文版》(OpenGL SuperBible (2th Edition).)第二版

王朝资源·作者佚名  2010-03-19
 说明  因可能的版权问题本站不提供该资源的存贮、播放、下载或推送,本文仅为内容简介。

中文名: OpenGL超级宝典中文版

英文名: OpenGL SuperBible (2th Edition).

版本: 第二版

发行时间: 2002年

地区: 大陆

对白语言: 普通话

文字语言: 简体中文

简介:

《OpenGL超级宝典》

本书是OpenGL编程指南,涵盖了使用新版本的OpenGL进行编程所需要的主要知识。

全书分3个部分,共23章,另有3个附录。第一部分包括第1章到第12章,介绍经典OpenGL绘图的所有基础知识,包括3D图形和OpenGL简介,OpenGL空间绘图,几何转换,颜色、材料和光照,纹理贴图,曲线和表面,管线,交互式图形等内容。第二部分包括第13章到第15章,分别介绍了不同操作系统平台上的OpenGL功能特性和编程细节。第三部分是第16章到第23章,着重介绍OpenGL的一些高级功能以及OpenGL 1.5的新特性。附录部分给出了更多阅读建议、术语表和对OpenGL ES的简单介绍。随书光盘中包含了不同操作系统平台下的丰富的示例程序及其源代码。

本书适合于希望精通OpenGL以便对他们的图形编程和3D图形知识进行扩展的程序员,也可以帮助那些经验丰富的OpenGL程序员学习如何移植自己的应用程序。本书既可以作为学习OpenGL的教材,也可以作为随时查阅的参考手册。

目录

第一部分经典OpenGL

第1章3D图形和OpenGL简介3

1.1计算机图形的简单历史回顾3

1.1.1进入CRT3

1.1.2走向3D4

1.23D效果初探6

1.2.1透视(视角)6

1.2.2颜色和着色6

1.2.3光照和阴影7

1.2.4纹理贴图7

1.2.5雾7

1.2.6混和和透明8

1.2.7抗锯齿8

1.33D图形的常见用途9

1.3.1实时3D9

1.3.2非实时3D10

1.43D编程的基本原则11

1.4.1立即模式和保持模式(场景图)11

1.4.2坐标系统11

1.4.3投影(从3D到2D)14

1.5小结16

第2章使用OpenGL17

2.1什么是OpenGL17

2.1.1标准的演化18

2.1.2API战争19

2.2OpenGL的工作原理22

2.2.1泛型实现22

2.2.2硬件实现23

2.2.3管线24

2.3OpenGL是API而不是编程语言24

2.4API规范25

2.4.1数据类型25

2.4.2函数名约定26

2.5平台独立性27

2.5.1使用GLUT27

2.5.2设置编程环境28

2.5.3你的第一个程序28

2.5.4用OpenGL绘制形状32

2.6使用OpenGL和GLUT生成动画37

2.7OpenGL状态机40

2.8OpenGL错误41

2.9确认版本42

2.10调用glHint获得线索42

2.11使用扩展42

2.11.1检查扩展43

2.11.2这是谁的扩展43

2.11.3在Windows中使用OpenGL 1.1以后的版本44

2.12小结44

2.13参考45

第3章在空间中绘图(几何图元和缓冲区)55

3.1在3D中绘制点55

3.2设置3D画布56

3.33D空间中的点——顶点57

3.4绘制图形58

3.5设置点的大小60

3.6在3D空间中画直线62

3.6.1线带和线环63

3.6.2用直线构成近似曲线64

3.6.3设置直线的宽度64

3.6.4直线点画66

3.7在3D空间中绘制三角形68

3.7.1三角形——第一种多边形68

3.7.2环绕68

3.7.3三角形带69

3.7.4三角形扇69

3.8创建实心物体70

3.8.1设置多边形颜色72

3.8.2隐藏表面消除72

3.8.3剔除:隐藏表面,提高性能73

3.8.4多边形模式75

3.9其他图元75

3.9.1四条边的多边形——四边形75

3.9.2通用多边形76

3.9.3填充多边形,回顾点画76

3.9.4多边形创建规则79

3.9.5细分和边界80

3.10其他缓冲区技巧82

3.10.1使用缓冲区目标82

3.10.2操纵深度缓冲区83

3.10.3用剪刀进行裁剪84

3.10.4使用模版缓冲区85

3.11小结88

3.12参考88

第4章几何转换——管线100

4.1本章是不是枯燥的数学课100

4.2理解转换101

4.2.1视觉坐标101

4.2.2视图转换102

4.2.3模型转换102

4.2.4模型视图二元性103

4.2.5投影转换104

4.2.6视口转换104

4.3矩阵——3D图形的数学基础105

4.3.1什么是矩阵105

4.3.2转换管线105

4.3.3模型视图矩阵106

4.3.4单位矩阵108

4.3.5矩阵堆栈109

4.3.6一个原子例子110

4.4使用投影112

4.4.1正投影112

4.4.2透视投影113

4.4.3一个远处缩小的例子114

4.5高级矩阵操作116

4.5.1载入矩阵117

4.5.2自己执行转换118

4.5.3把转换放在一起120

4.6使用照相机和角色在OpenGL中移动121

4.6.1角色帧121

4.6.2欧拉角:“卢克!请使用帧”122

4.6.3照相机管理122

4.7综合应用123

4.8小结127

4.9参考128

第5章颜色、材料和光照基础知识134

5.1什么是颜色134

5.1.1光的波性134

5.1.2光的粒子性135

5.1.3人眼作为光子检测器136

5.1.4计算机作为光子检测器136

5.2PC颜色硬件137

5.3PC显示模式137

5.3.1屏幕分辨率138

5.3.2颜色深度138

5.4在OpenGL中使用颜色139

5.4.1颜色立方体139

5.4.2设置绘图颜色140

5.4.3着色140

5.4.4设置着色模型142

5.5现实世界的颜色142

5.5.1环境光143

5.5.2散射光143

5.5.3镜面光143

5.5.4综合考虑143

5.6现实世界的材料144

5.6.1材料属性144

5.6.2向材料添加光照144

5.6.3计算环境光效果144

5.6.4散射和镜面光效果145

5.7向场景添加光照145

5.7.1启用光照145

5.7.2设置光照模型146

5.7.3设置材料属性146

5.8使用光源148

5.8.1哪种方式最合适148

5.8.2表面法线149

5.8.3指定法线149

5.8.4单位法线150

5.8.5寻找法线151

5.8.6设置光源152

5.8.7设置材料属性153

5.8.8指定多边形153

5.9光照效果154

5.9.1镜面加亮154

5.9.2镜面光154

5.9.3镜面反射155

5.9.4镜面指数156

5.9.5法线均衡157

5.10综合讨论158

5.10.1创建亮点158

5.10.2绘制光点159

5.11阴影162

5.11.1什么是阴影163

5.11.2实现压平的代码163

5.11.3一个阴影例子164

5.11.4重新回顾球体世界166

5.12小结167

5.13参考167

第6章颜色和材料的更多细节174

6.1混合174

6.1.1组合颜色174

6.1.2修改混合方程式177

6.1.3抗锯齿177

6.2雾181

6.3累积缓冲区183

6.4其他颜色操作185

6.4.1颜色掩码185

6.4.2颜色逻辑操作185

6.4.3Alpha测试186

6.4.4抖动186

6.5小结186

6.6参考187

第7章OpenGL中的图像191

7.1位图191

7.2像素包装195

7.3像素图196

7.3.1经过包装的像素格式198

7.3.2一个颜色更丰富的例子198

7.3.3移动像素200

7.3.4保存像素201

7.4像素的更多乐趣203

7.4.1像素缩放208

7.4.2像素转移208

7.4.3像素映射211

7.5图像“子集”212

7.6小结222

7.7参考223

第8章纹理贴图基础知识239

8.1载入纹理239

8.1.1使用颜色缓冲区242

8.1.2更新纹理242

8.2将纹理贴图到几何图形243

8.3一个简单的2D例子244

8.4纹理环境249

8.5纹理参数250

8.5.1基本过滤250

8.5.2纹理环绕251

8.5.3带纹理的卡通252

8.5.4Mip贴图256

8.6纹理对象259

8.7小结266

8.8参考266

第9章纹理贴图高级知识279

9.1第二颜色279

9.2各向异性过滤281

9.3纹理压缩282

9.3.1压缩纹理283

9.3.2载入压缩纹理284

9.4纹理坐标生成284

9.4.1物体线性贴图289

9.4.2视觉线性贴图290

9.4.3球体贴图291

9.4.4立方体贴图292

9.5多重纹理294

9.5.1多重纹理坐标295

9.5.2一个多重纹理例子295

9.6纹理组合器298

9.7小结300

9.8参考300

第10章曲线和表面306

10.1内部支持的表面306

10.1.1设置二次方程状态307

10.1.2绘制二次方程图形308

10.1.3用二次方程进行建模311

10.2Bézier曲线和表面312

10.2.1参数方程表示形式313

10.2.2求值器314

10.3NURBS321

10.3.1从Bézier到B样条321

10.3.2结点322

10.3.3创建NURBS表面322

10.3.4NURBS属性323

10.3.5定义表面323

10.3.6修剪324

10.3.7NURBS表面326

10.4镶嵌326

10.4.1镶嵌器327

10.4.2镶嵌器回调函数327

10.4.3指定顶点数据328

10.4.4综合应用328

10.5小结332

10.6参考332

第11章这就是管线——更快的几何图形渲染353

11.1模型装配101353

11.2显示列表363

11.2.1批处理363

11.2.2预批处理364

11.2.3使用显示列表的一些注意事项365

11.2.4转换到显示列表365

11.3测量性能366

11.4顶点数组370

11.4.1载入几何图形373

11.4.2启用数组374

11.4.3数据在哪里374

11.4.4进行绘图375

11.4.5索引顶点数组376

11.5小结385

11.6参考385

第12章交互式图形395

12.1选择395

12.1.1为图元命名396

12.1.2在选择模式下工作397

12.1.3选择缓冲区398

12.1.4挑选399

12.1.5层次式挑选401

12.1.6反馈404

12.1.7反馈缓冲区404

12.1.8反馈数据405

12.1.9用户定义标记405

12.2一个反馈例子406

12.2.1对物体加上标签以便反馈406

12.2.2步骤1:选择物体408

12.2.3步骤2:从物体获取反馈信息409

12.3小结411

12.4参考411

第二部分OpenGL无处不在

第13章Windows上的OpenGL Wiggle417

13.1Windows上的OpenGL实现417

13.1.1泛型OpenGL418

13.1.2可安装客户驱动程序(ICD)418

13.1.3Mini客户驱动程序(MCD)418

13.1.4Mini驱动程序419

13.1.5扩展OpenGL419

13.2基本的窗口渲染420

13.2.1GDI设备环境420

13.2.2像素格式421

13.2.3OpenGL渲染环境426

13.3综合应用427

13.3.1创建窗口427

13.3.2使用OpenGL渲染环境430

13.3.3其他Windows消息433

13.4Windows调色板434

13.4.1颜色匹配434

13.4.2调色板仲裁435

13.4.3为OpenGL创建调色板436

13.4.4调色板的创建和销毁439

13.5OpenGL和Windows字体440

13.5.13D字体和文本441

13.5.22D字体和文本442

13.6全屏渲染444

13.6.1创建一个无边框窗口444

13.6.2创建一个全屏窗口445

13.7多线程渲染447

13.8OpenGL和WGL扩展448

13.8.1简单扩展448

13.8.2使用新入口449

13.8.3WGL扩展449

13.9小结470

13.10参考470

第14章MacOS X上的OpenGL482

14.1基础知识482

14.1.1框架482

14.1.2使用GLUT API483

14.2使用AGL和Carbon API483

14.2.1像素格式483

14.2.2管理渲染环境484

14.2.3执行双缓冲渲染485

14.2.4你的第一个AGL程序485

14.2.5使用位图字体494

14.3使用Cocoa API504

14.3.1NSOpenGL类504

14.3.2你的第一个Cocoa程序505

14.4小结512

14.5参考512

第15章GLX:Linux上的OpenGL516

15.1基础知识516

15.1.1使用OpenGL和X11函数库516

15.1.2使用GLUT函数库518

15.1.3Linux上的OpenGL518

15.1.4OpenGL模拟:Mesa519

15.2X Window系统的OpenGL扩展519

15.2.1X Window系统基础知识519

15.2.2选择画面519

15.2.3管理OpenGL渲染环境520

15.2.4创建OpenGL窗口521

15.2.5双缓冲窗口521

15.2.6综合应用521

15.3为OpenGL创建位图字体528

15.4离屏渲染537

15.4.1使用GLX Pixmap537

15.4.2使用Pbuffer541

15.5使用Motif函数库546

15.5.1GLwDrawingArea和GLwMDrawingArea546

15.5.2回调资源547

15.5.3函数548

15.5.4综合应用549

15.6小结557

15.7参考557

第三部分下一代OpenGL

第16章缓冲区对象565

16.1顶点数组566

16.1.1生成球状微粒云彩566

16.1.2启用顶点数组567

16.1.3使用更多的球体568

16.2迁移到缓冲区对象569

16.2.1缓冲区对象管理570

16.2.2用缓冲区对象进行渲染571

16.3把数据载入到缓冲区对象571

16.3.1把数据复制到缓冲区对象571

16.3.2直接映射缓冲区对象572

16.4补遗575

16.5小结576

16.6参考576

第17章遮挡查询581

17.1遮挡查询之前的世界581

17.2边框584

17.3对查询对象进行查询587

17.4小结589

17.5参考589

第18章深度纹理和阴影593

18.1作为光源594

18.1.1使场景正好占据整个窗口594

18.1.2去掉华而不实的东西594

18.2一种新类型的纹理597

18.3首先绘制阴影597

18.4然后是光照598

18.4.1投影阴影贴图:“为什么”598

18.4.2投影阴影贴图:“怎么做”599

18.4.3阴影比较600

18.5只用两个就够了605

18.6关于多边形偏移606

18.7小结606

18.8参考607

第19章可编程管线609

19.1旧的被淘汰609

19.1.1固定的顶点处理609

19.1.2固定的片断处理611

19.2新的占主导612

19.2.1可编程顶点着色器612

19.2.2固定功能胶水614

19.2.3可编程片断着色器614

19.3着色器扩展介绍615

19.3.1低层扩展615

19.3.2高层扩展617

19.4小结618

第20章低层着色(深入底层)619

20.1管理低层着色器619

20.1.1创建和绑定着色器619

20.1.2载入着色器620

20.1.3删除着色器621

20.1.4设置扩展621

20.2指令集622

20.2.1常用指令622

20.2.2专用于顶点的指令623

20.2.3专用于片断的指令624

20.3变量类型624

20.3.1临时变量625

20.3.2参数625

20.3.3属性626

20.3.4输出628

20.3.5别名629

20.3.6地址629

20.4输入和输出限定符630

20.4.1输入取负630

20.4.2输入Swizzle630

20.4.3输出写入掩码630

20.4.4输出限定630

20.5资源消耗和队列631

20.5.1解析器限制631

20.5.2本地限制632

20.5.3其他查询633

20.6着色器选项633

20.6.1位置不变性顶点选项634

20.6.2雾应用片段选项634

20.6.3精度提示片断选项634

20.7小结634

20.8参考634

第21章高层着色644

21.1管理高层着色器644

21.1.1着色器对象644

21.1.2程序对象646

21.1.3设置扩展647

21.2变量648

21.2.1基本类型648

21.2.2结构649

21.2.3数组650

21.2.4修饰符650

21.2.5内置的变量650

21.3表达式651

21.3.1操作符651

21.3.2数组访问652

21.3.3构造函数652

21.3.4成分选择653

21.4控制流653

21.4.1循环654

21.4.2if/else654

21.4.3discard654

21.4.4函数654

21.5小结656

21.6参考657

第22章顶点着色668

22.1初次试验668

22.2散射光照670

22.3镜面光照672

22.4改善镜面光照674

22.5基于顶点的雾680

22.6基于顶点的点大小683

22.7自定义的顶点转换685

22.8顶点混合687

22.9小结691

第23章片断着色器692

23.1颜色转换692

23.1.1灰度692

23.1.2调棕色694

23.1.3反色694

23.1.4热信号696

23.1.5基于片断的雾697

23.2图像处理699

23.2.1模糊699

23.2.2锐化702

23.2.3膨胀和侵蚀703

23.2.4边缘检测705

23.3光照707

23.3.1散射光照707

23.3.2多重镜面光照710

23.4过程纹理贴图714

23.4.1棋盘纹理714

23.4.2沙滩球纹理718

23.4.3玩具球纹理722

23.5小结727

附录A推荐读物728

A.1其他优秀的OpenGL书籍728

A.23D图形书籍728

A.3网站728

附录B术语表730

附录COpenGL ES733

C.1数据类型的削减733

C.2完全消除的特性733

C.3大幅度削减了的功能734

C.3.1纹理贴图734

C.3.2光栅操作734

C.3.3光照735

C.4小结735

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有