网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Vulkan开发实战详解
分类 教育考试-考试-计算机类
作者 吴亚峰编
出版社 人民邮电出版社
下载
简介
作者简介
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为Vulkan、OpenGL ES、手机游戏、以及VR/AR。同时为3D游戏、VR/AR独立软件工程师,并兼任百纳科技软件培训中心首席培训师。
目录
章初识Vulkan1
1.1Vulkan概览1
1.1.1Vulkan简介1
1.1.2支持Vulkan的游戏概览2
1.2搭建开发环境4
1.2.1Android平台开发环境的配置4
1.2.2Windows平台开发环境的配置8
1.3个Vulkan程序15
1.3.1案例的运行效果15
1.3.2Vulkan应用程序的基本架构15
1.3.33色三角形案例相关类的介绍20
1.3.4Vulkan中的常用方法22
1.3.5MyVulkanManager类的基本结构28
1.3.6创建Vulkan实例31
1.3.7获取物理设备列表32
1.3.8创建逻辑设备32
1.3.9创建命令缓冲33
1.3.10获取设备中支持图形工作的队列35
1.3.11初始化交换链35
1.3.12创建深度缓冲41
1.3.13创建渲染通道43
1.3.14创建帧缓冲46
1.3.15创建绘制用物体47
1.3.16初始化渲染管线51
1.3.17创建栅栏和初始化呈现信息62
1.3.18初始化基本变换矩阵、摄像机矩阵、投影矩阵63
1.3.19执行绘制63
1.3.20销毁相关对象66
1.3.21整体流程的执行67
1.3.22顶点着色器和片元着色器68
1.4Vulkan中立体物体的构建70
1.5本章小结71
第2章渲染管线和调试技术72
2.1渲染管线72
2.2着色器的预编译79
2.3Vulkan调试技术81
2.4VulkanGPU大PK89
2.4.1移动端GPU的4大家族89
2.4.2PC端GPU中3大家族91
2.5本章小结92
第3章着色器编程语言——GLSL93
3.1着色语言概述93
3.2着色语言基础94
3.2.1数据类型概述94
3.2.2数据类型的基本使用98
3.2.3运算符100
3.2.4各个数据类型的构造函数102
3.2.5类型转换104
3.2.6存储限定符104
3.2.7插值限定符107
3.2.8一致块108
3.2.9layout限定符109
3.2.10流程控制111
3.2.11函数的声明和使用113
3.2.12片元着色器中浮点及整型变量精度的指定114
3.2.13程序的基本结构114
3.3特殊的内建变量115
3.3.1顶点着色器中的内建变量115
3.3.2片元着色器中的内建变量116
3.3.3内建常量117
3.4着色语言的内置函数117
3.4.1角度转换与三角函数118
3.4.2指数函数119
3.4.3常见函数120
3.4.4几何函数123
3.4.5矩阵函数124
3.4.6向量关系函数125
3.4.7纹理采样函数126
3.4.8微分函数129
3.4.9浮点数打包与解包函数129
3.5用invariant修饰符避免值变问题130
3.6预处理器131
3.7本章小结132
第4章投影与各种变换133
4.1矩阵相关类的介绍133
4.1.1矩阵数学计算类—Matrix133
4.1.2矩阵状态管理类—MatrixState3D134
4.2摄像机的设置137
4.3两种投影方式138
4.3.1正交投影138
4.3.2透视投影144
4.3.3推送常量146
4.4各种变换148
4.4.1基本变换的相关数学知识148
4.4.2平移变换149
4.4.3旋转变换150
4.4.4缩放变换151
4.4.5基本变换的实质152
4.5所有变换的完整流程153
4.6绘制方式156
4.6.1各种绘制方式概览156
4.6.2点与线段绘制方式158
4.6.3三角形条带与扇面绘制方式161
4.6.4索引法绘制164
4.7设置合理的视角169
4.8设置合理的投影参数174
4.9深度偏移178
4.10卷绕和背面剪裁181
4.10.1基本知识181
4.10.2一个简单的案例182
4.11间接绘制183
4.11.1背景知识184
4.11.2顶点法间接绘制184
4.11.3索引法间接绘制186
4.12本章小结188
第5章光照189
5.1曲面物体的构建189
5.1.1球体构建的基本原理189
5.1.2案例效果概览190
5.1.3开发步骤190
5.2基本光照效果194
5.2.1光照的基本模型194
5.2.2环境光195
5.2.3散射光199
5.2.4镜面光205
5.2.53种光照通道的合成210
5.3定位光与定向光212
5.4点法向量和面法向量215
5.5光照的每顶点计算与每片元计算218
5.6本章小结223
第6章纹理映射224
6.1初识纹理映射224
6.2一个简单的案例225
6.2.1开发前的准备工作225
6.2.2纹理相关类226
6.2.3案例代码的开发241
6.2.4图像的瓦片组织方式248
6.2.5色彩通道的灵活组合250
6.3纹理拉伸251
6.3.1四种拉伸方式概览251
6.3.2不同拉伸方式的案例254
6.4纹理采样259
6.4.1纹理采样概述259
6.4.2最近点采样259
6.4.3线性纹理采样260
6.4.4MIN与MAG采样261
6.4.5不同纹理采样方式的案例262
6.5Mipmap纹理266
6.5.1基本原理266
6.5.2一个简单的案例268
6.6多重纹理与过程纹理272
6.6.1案例概览273
6.6.2将2D纹理映射到球面上的策略273
6.6.3案例的场景结构274
6.6.4开发过程275
6.7压缩纹理的使用283
6.7.1Android平台下的压缩纹理284
6.7.2PC中Windows平台下的压缩纹理286
6.8点精灵289
6.8.1基本知识289
6.8.2一个简单的案例289
6.93D纹理292
6.9.13D棋盘纹理的准备293
6.9.23D棋盘纹理案例的开发294
6.102D纹理数组297
6.10.12D纹理数组的准备297
6.10.22D纹理数组案例的开发298
6.11各向异性过滤302
6.11.1背景知识303
6.11.2一个简单的案例303
6.12本章小结305
第7章更逼真的场景——3D模型的加载306
7.1obj模型文件概述306
7.1.1obj文件的格式306
7.1.2用3dsMax设计3D模型307
7.2加载obj文件308
7.2.1加载仅有顶点坐标数据与面数据的obj文件308
7.2.2加载后自动计算面法向量312
7.2.3加载后自动计算平均法向量315
7.2.4加载纹理坐标317
7.2.5加载顶点法向量320
7.3双面光照321
7.4本章小结324
第8章独特的场景渲染技术——混合与雾325
8.1混合技术325
8.1.1基本知识325
8.1.2源因子和目标因子326
8.1.3简单混合效果的案例328
8.2地月系云层效果的实现330
8.3雾333
8.3.1雾的原理与优势333
8.3.2雾的简单实现334
8.4本章小结336
第9章常用3D开发小技巧337
9.1标志板337
9.1.1案例效果与基本原理337
9.1.2开发步骤338
9.2灰度图地形341
9.2.1基本原理341
9.2.2开发前的准备工作342
9.2.3普通灰度图地形342
9.2.4过程纹理地形344
9.2.5Mipmap地形347
9.2.6顶点着色器采样纹理地形351
9.3高真实感地形353
9.3.1基本思路353
9.3.2地形设计工具EarthSculptor的使用354
9.3.3一个简单的案例356
9.4天空盒与天空穹358
9.4.1天空盒358
9.4.2天空穹359
9.4.3天空盒与天空穹的使用技巧361
9.5简单镜像效果361
9.5.1基本原理361
9.5.2基本效果案例362
9.5.3升级效果案例364
9.6非真实感绘制366
9.6.1基本原理与案例效果366
9.6.2具体开发步骤368
9.7描边效果的实现370
9.7.1沿法线挤出轮廓370
9.7.2视空间中挤出373
9.8本章小结374
0章两种测试及片元丢弃375
10.1剪裁测试375
10.1.1基本原理与核心代码375
10.1.2一个简单的案例375
10.2模板测试377
10.2.1基本原理377
10.2.2一个简单的案例380
10.3片元丢弃操作383
10.4任意剪裁平面385
10.4.1基本原理385
10.4.2茶壶被任意平面剪裁的案例386
10.5本章小结387
1章顶点着色器的妙用388
11.1飘扬的旗帜388
11.1.1基本原理388
11.1.2开发步骤389
11.2扭动的软糖392
11.2.1基本原理392
11.2.2开发步骤393
11.3风吹椰林场景的开发394
11.3.1椰子树随风摇摆的基本原理395
11.3.2开发步骤396
11.4展翅飞翔的雄鹰400
11.4.1基本原理400
11.4.2开发步骤400
11.5二维扭曲402
11.5.1基本原理403
11.5.2开发步骤403
11.6吹气膨胀特效406
11.6.1基本原理406
11.6.2开发步骤406
11.7本章小结407
2章片元着色器的妙用408
12.1程序纹理技术408
12.1.1砖块着色器408
12.1.2沙滩球着色器410
12.2数字图像处理411
12.2.1卷积的基本知识411
12.2.2平滑过滤412
12.2.3边缘检测413
12.2.4锐化处理414
12.2.5浮雕效果414
12.2.6图像渐变415
12.2.7卡通渲染416
12.3分形着色器418
12.3.1曼德布罗集简介418
12.3.2曼德布罗集着色器的实现419
12.3.3将曼德布罗集纹理应用到实际物体上421
12.3.4茱莉亚集着色器的实现421
12.43D纹理的妙用423
12.4.1噪声函数的基础知识423
12.4.2柏林噪声生成工具426
12.4.33D噪声木纹理茶壶的开发427
12.5体积雾429
12.5.1基本原理429
12.5.2开发步骤430
12.6粒子系统火焰的开发431
12.6.1火焰的基本原理431
12.6.2普通版火焰433
12.6.3点精灵版火焰441
12.7本章小结444
3章真实光学环境的模拟445
13.1反射环境模拟445
13.1.1案例效果与基本原理445
13.1.2开发前的准备工作446
13.1.3开发步骤447
13.2折射环境模拟449
13.2.1案例效果与基本原理449
13.2.2开发步骤450
13.3色散效果模拟452
13.3.1案例效果与基本原理452
13.3.2开发步骤452
13.4菲涅尔效果的模拟453
13.4.1案例效果与基本原理453
13.4.2开发步骤454
13.5凹凸映射455
13.5.1案例效果与基本原理455
13.5.2法向量纹理图的生成456
13.5.3切向量的计算458
13.5.4案例的开发459
13.6镜头光晕464
13.6.1案例效果与基本原理464
13.6.2镜头光晕案例465
13.7投影贴图468
13.7.1案例效果与基本原理468
13.7.2开发步骤470
13.8绘制到纹理472
13.8.1案例效果与基本原理472
13.8.2开发步骤473
13.9不错镜像476
13.9.1案例效果与基本原理476
13.9.2开发步骤477
13.10高真实感水面倒影480
13.10.1案例效果与基本原理480
13.10.2开发步骤481
13.11本章小结484
4章阴影及不错光照485
14.1多重渲染目标485
14.1.1基本知识485
14.1.2一个简单的案例486
14.2阴影的重要性491
14.3平面阴影493
14.3.1案例效果与基本原理493
14.3.2开发步骤494
14.4阴影映射497
14.4.1案例效果与基本原理497
14.4.2距离纹理的生成498
14.4.3阴影场景的绘制501
14.5阴影贴图506
14.5.1案例效果与基本原理506
14.5.2开发步骤507
14.6静态光照贴图508
14.6.1案例效果与基本原理508
14.6.2使用3dsMax制作静态光照贴图509
14.6.3案例的开发510
14.7聚光灯不错光源512
14.7.1种实现的案例效果与基本原理513
14.7.2种实现案例的开发步骤514
14.7.3第二种实现的案例效果与基本原理515
14.7.4第二种实现案例的开发步骤516
14.8延迟渲染517
14.8.1案例效果与基本原理517
14.8.2开发步骤518
14.9环境光遮挡522
14.9.1基本原理522
14.9.2一个简单的案例524
14.9.3效率的提升526
14.9.4平滑处理528
14.10本章小结529
5章几种不错着色器特效530
15.1运动模糊530
15.1.1普通运动模糊530
15.1.2不错运动模糊533
15.2遮挡透视效果536
15.2.1案例效果与基本原理536
15.2.2开发步骤538
15.3积雪效果541
15.3.1案例效果与基本原理541
15.3.2开发步骤541
15.4背景虚化542
15.4.1案例效果与基本原理542
15.4.2开发步骤543
15.5泛光效果545
15.5.1案例效果与基本原理545
15.5.2开发步骤546
15.6色调映射548
15.6.1案例效果与背景知识548
15.6.2开发步骤549
15.7体绘制550
15.7.1案例效果与基本原理550
15.7.2开发步骤551
15.8本章小结553
6章骨骼动画554
16.1开发骨骼动画554
16.1.1骨骼动画的基本原理554
16.1.2开发步骤557
16.1.3机器人模型在地面上运动时的问题563
16.2ms3d骨骼动画文件的加载566
16.2.1ms3d文件的格式566
16.2.2将3dsMax动画文件转换为ms3d文件570
16.2.3加载ms3d文件案例的开发574
16.3自定义格式骨骼动画的加载591
16.3.1bnggdh文件的格式591
16.3.2Bnggdh类594
16.3.3加载bnggdh文件的案例594
16.4本章小结606
7章让应用运行得更流畅——性能优化607
17.1着色器的优化607
17.1.1计算量及计算频率的相关问题607
17.1.2其他需要注意的问题608
17.2纹理图的优化609
17.33D图形绘制的优化610
17.3.1CPU阶段的优化610
17.3.2几何阶段的优化611
17.3.3光栅化阶段的优化612
17.4图元重启612
17.4.1基本原理612
17.4.2一个简单的案例613
17.5几何体实例渲染614
17.5.1基本原理614
17.5.2基于实例渲染的土星光环案例615
17.6视锥体剪裁620
17.6.1AABB包围盒的基本原理620
17.6.2AABB包围盒的计算621
17.6.3视锥体剪裁的基本思路及实现策略622
17.6.4一个简单的案例623
17.7遮挡查询626
17.7.1相关方法626
17.7.2基本原理和实现策略626
17.7.3一个简单的案例627
17.8计算着色器的使用630
17.8.1基础知识630
17.8.2动态法向量光照水面案例633
17.9多线程并发渲染640
17.9.1基本原理641
17.9.2飞船案例的开发641
17.10多子通道渲染646
17.10.1基本原理646
17.10.2一个简单的案例647
17.11细节级别LOD652
17.12本章小结653
8章杂项654
18.1四元数旋转654
18.1.1基本原理与案例效果654
18.1.2开发步骤656
18.23D拾取技术662
18.2.1案例效果与基本原理662
18.2.2开发步骤665
18.3多重采样抗锯齿670
18.3.1基本知识与案例效果670
18.3.2一个简单的案例671
18.4保存屏幕截图674
18.5Windows系统窗口缩放676
18.6曲面细分着色器677
18.6.1基本知识677
18.6.2一个简单的案例680
18.7几何着色器685
18.8macOS、iOS与Linux平台下Vulkan应用的开发688
18.8.1macOS与iOS平台下Vulkan应用程序的开发688
18.8.2Linux平台下Vulkan图形应用程序的开发692
18.9本章小结700
9章基于Vulkan的3D休闲游戏——方块历险记701
19.1游戏背景及功能概述701
19.1.1游戏开发背景概述701
19.1.2游戏功能简介701
19.2游戏的策划及准备工作702
19.2.1游戏的策划703
19.2.2游戏的开发准备工作703
19.3游戏的架构705
19.3.1各类的简要介绍705
19.3.2游戏框架简介706
19.4布景相关类707
19.4.13D布景类——My3Dlayer707
19.4.2总绘制类——MyDraw712
19.4.3摄像机管理类——CameraUtil716
19.4.43D物体创建类——Square3D717
19.5机关与方块相关类718
19.5.1方块管理类——ZFTManager718
19.5.2地刺机关管理类——DiCiBox721
19.5.3掉落块机关管理类——DiaoLuoManager722
19.6游戏入口及辅助工具类724
19.6.1游戏入口类——main724
19.6.2触控监听类——Touch2D726
19.7着色器的开发728
19.8游戏的优化及改进730
内容推荐
本书共分为19章,内容按照必知必会的基础知识、基于Vulkan实现基本特效以及高级特效、完整游戏案例的顺序循序渐进地进行详细讲解,适合不同需求、不同水平层次的各类读者。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/19 9:49:14