• Vulkan开发实战详解
21年品牌 40万+商家 超1.5亿件商品

Vulkan开发实战详解

339 139 九五品

仅1件

江苏南京
认证卖家担保交易快速发货售后保障

作者吴亚峰

出版社人民邮电出版社

ISBN9787115509390

出版时间2019-07

版次1

装帧平装

开本16开

纸张胶版纸

页数730页

定价139元

上书时间2024-04-01

天舞宝輪

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:Vulkan开发实战详解
定价:139.00元
作者:吴亚峰
出版社:人民邮电出版社
出版日期:2019-07-01
ISBN:9787115509390
字数:
页码:730
版次:
装帧:平装
开本:16开
商品重量:
编辑推荐
1.内容丰富,由浅入深本着“起点低,终点高”的原则,本书涵盖从Vulkan必知必会的基础知识到基于Vulkan实现各种高级特效,最后还给出了一个完整的3D游戏案例。这样的内容组织使得3D应用开发初学者可以一步一步成长为3D开发的资深人员,符合绝大部分想学习3D应用开发的学生与程序开发人员以及相关技术人员的需求。2.结构清晰,讲解到位本书配合每个需要讲解的知识点都给出了丰富的插图与完整的案例,使得初学者易于上手,有一定基础的读者便于深入。书中所有的案例均是根据作者多年的开发心得进行设计的,结构清晰明朗,便于读者学习。同时书中还给出了很多作者多年来积累的编程技巧与心得,具有很高的参考价值。3.非常实用的案例源代码为了便于读者学习,随书提供了书中所有案例的完整源代码(书中所有案例都给出了安卓版和Windows版,最后的大案例还进一步给出了macOS、iOS和Linux版),限度地帮助读者快速地掌握各方面的开发技术。
内容提要
本书共分为19章,介绍了Vulkan的诞生、特点、开发环境的搭建以及运行机制、渲染管线和调试技术,着色器编程语言—GLSL、投影及各种变换、光照、纹理映射、3D模型的加载、混合与雾、两种测试及片元丢弃、顶点着色器的妙用、片元着色器的妙用、真实光学环境的模拟、阴影及高级光照、几种高级着色器特效、骨骼动画、Vulkan的性能优化等,最后以一个休闲游戏—方块历险记的案例来展示Vulkan的功能与技术。本书按照必知必会的基础知识、基于Vulkan实现基本特效以及高级特效、完整游戏案例的顺序,循序渐进地进行详细讲解,适合不同需求、不同水平层次的各类读者。为了便于读者学习,随书提供了书中所有案例的完整源代码(书中所有案例都给出了安卓版和Windows版,最后的大案例还进一步给出了macOS、iOS和Linux版),限度地帮助读者快速地掌握各方面的开发技术。本书适合游戏开发者、程序员学习,也可以作为大专院校相关专业的师生学习用书和培训学校的教材。
目录
目 录章 初识Vulkan 11.1 Vulkan概览 11.1.1 Vulkan简介 11.1.2 支持Vulkan的游戏概览 21.2 搭建开发环境 41.2.1 Android平台开发环境的配置 41.2.2 Windows平台开发环境的配置 81.3 个Vulkan程序 151.3.1 案例的运行效果 151.3.2 Vulkan应用程序的基本架构 151.3.3 3色三角形案例相关类的介绍 201.3.4 Vulkan中的常用方法 221.3.5 MyVulkanManager类的基本结构 281.3.6 创建Vulkan实例 311.3.7 获取物理设备列表 321.3.8 创建逻辑设备 321.3.9 创建命令缓冲 331.3.10 获取设备中支持图形工作的队列 351.3.11 初始化交换链 351.3.12 创建深度缓冲 411.3.13 创建渲染通道 431.3.14 创建帧缓冲 461.3.15 创建绘制用物体 471.3.16 初始化渲染管线 511.3.17 创建栅栏和初始化呈现信息 621.3.18 初始化基本变换矩阵、摄像机矩阵、投影矩阵 631.3.19 执行绘制 631.3.20 销毁相关对象 661.3.21 整体流程的执行 671.3.22 顶点着色器和片元着色器 681.4 Vulkan中立体物体的构建 701.5 本章小结 71第2章 渲染管线和调试技术 722.1 渲染管线 722.2 着色器的预编译 792.3 Vulkan调试技术 812.4 Vulkan GPU大PK 892.4.1 移动端GPU的4大家族 892.4.2 PC端GPU中3大家族 912.5 本章小结 92第3章 着色器编程语言——GLSL 933.1 着色语言概述 933.2 着色语言基础 943.2.1 数据类型概述 943.2.2 数据类型的基本使用 983.2.3 运算符 1003.2.4 各个数据类型的构造函数 1023.2.5 类型转换 1043.2.6 存储限定符 1043.2.7 插值限定符 1073.2.8 一致块 1083.2.9 layout限定符 1093.2.10 流程控制 1113.2.11 函数的声明和使用 1133.2.12 片元着色器中浮点及整型变量精度的指定 1143.2.13 程序的基本结构 1143.3 特殊的内建变量 1153.3.1 顶点着色器中的内建变量 1153.3.2 片元着色器中的内建变量 1163.3.3 内建常量 1173.4 着色语言的内置函数 1173.4.1 角度转换与三角函数 1183.4.2 指数函数 1193.4.3 常见函数 1203.4.4 几何函数 1233.4.5 矩阵函数 1243.4.6 向量关系函数 1253.4.7 纹理采样函数 1263.4.8 微分函数 1293.4.9 浮点数打包与解包函数 1293.5 用invariant修饰符避免值变问题 1303.6 预处理器 1313.7 本章小结 132第4章 投影与各种变换 1334.1 矩阵相关类的介绍 1334.1.1 矩阵数学计算类—Matrix 1334.1.2 矩阵状态管理类—MatrixState3D 1344.2 摄像机的设置 1374.3 两种投影方式 1384.3.1 正交投影 1384.3.2 透视投影 1444.3.3 推送常量 1464.4 各种变换 1484.4.1 基本变换的相关数学知识 1484.4.2 平移变换 1494.4.3 旋转变换 1504.4.4 缩放变换 1514.4.5 基本变换的实质 1524.5 所有变换的完整流程 1534.6 绘制方式 1564.6.1 各种绘制方式概览 1564.6.2 点与线段绘制方式 1584.6.3 三角形条带与扇面绘制方式 1614.6.4 索引法绘制 1644.7 设置合理的视角 1694.8 设置合理的投影参数 1744.9 深度偏移 1784.10 卷绕和背面剪裁 1814.10.1 基本知识 1814.10.2 一个简单的案例 1824.11 间接绘制 1834.11.1 背景知识 1844.11.2 顶点法间接绘制 1844.11.3 索引法间接绘制 1864.12 本章小结 188第5章 光照 1895.1 曲面物体的构建 1895.1.1 球体构建的基本原理 1895.1.2 案例效果概览 1905.1.3 开发步骤 1905.2 基本光照效果 1945.2.1 光照的基本模型 1945.2.2 环境光 1955.2.3 散射光 1995.2.4 镜面光 2055.2.5 3种光照通道的合成 2105.3 定位光与定向光 2125.4 点法向量和面法向量 2155.5 光照的每顶点计算与每片元计算 2185.6 本章小结 223第6章 纹理映射 2246.1 初识纹理映射 2246.2 一个简单的案例 2256.2.1 开发前的准备工作 2256.2.2 纹理相关类 2266.2.3 案例代码的开发 2416.2.4 图像的瓦片组织方式 2486.2.5 色彩通道的灵活组合 2506.3 纹理拉伸 2516.3.1 四种拉伸方式概览 2516.3.2 不同拉伸方式的案例 2546.4 纹理采样 2596.4.1 纹理采样概述 2596.4.2 最近点采样 2596.4.3 线性纹理采样 2606.4.4 MIN与MAG采样 2616.4.5 不同纹理采样方式的案例 2626.5 Mipmap纹理 2666.5.1 基本原理 2666.5.2 一个简单的案例 2686.6 多重纹理与过程纹理 2726.6.1 案例概览 2736.6.2 将2D纹理映射到球面上的策略 2736.6.3 案例的场景结构 2746.6.4 开发过程 2756.7 压缩纹理的使用 2836.7.1 Android平台下的压缩纹理 2846.7.2 PC中Windows平台下的压缩纹理 2866.8 点精灵 2896.8.1 基本知识 2896.8.2 一个简单的案例 2896.9 3D纹理 2926.9.1 3D棋盘纹理的准备 2936.9.2 3D棋盘纹理案例的开发 2946.10 2D纹理数组 2976.10.1 2D纹理数组的准备 2976.10.2 2D纹理数组案例的开发 2986.11 各向异性过滤 3026.11.1 背景知识 3036.11.2 一个简单的案例 3036.12 本章小结 305第7章 更逼真的场景——3D模型的加载 3067.1 obj模型文件概述 3067.1.1 obj文件的格式 3067.1.2 用3ds Max设计3D模型 3077.2 加载obj文件 3087.2.1 加载仅有顶点坐标数据与面数据的obj文件 3087.2.2 加载后自动计算面法向量 3127.2.3 加载后自动计算平均法向量 3157.2.4 加载纹理坐标 3177.2.5 加载顶点法向量 3207.3 双面光照 3217.4 本章小结 324第8章 独特的场景渲染技术——混合与雾 3258.1 混合技术 3258.1.1 基本知识 3258.1.2 源因子和目标因子 3268.1.3 简单混合效果的案例 3288.2 地月系云层效果的实现 3308.3 雾 3338.3.1 雾的原理与优势 3338.3.2 雾的简单实现 3348.4 本章小结 336第9章 常用3D开发小技巧 3379.1 标志板 3379.1.1 案例效果与基本原理 3379.1.2 开发步骤 3389.2 灰度图地形 3419.2.1 基本原理 3419.2.2 开发前的准备工作 3429.2.3 普通灰度图地形 3429.2.4 过程纹理地形 3449.2.5 Mipmap地形 3479.2.6 顶点着色器采样纹理地形 3519.3 高真实感地形 3539.3.1 基本思路 3539.3.2 地形设计工具EarthSculptor的使用 3549.3.3 一个简单的案例 3569.4 天空盒与天空穹 3589.4.1 天空盒 3589.4.2 天空穹 3599.4.3 天空盒与天空穹的使用技巧 3619.5 简单镜像效果 3619.5.1 基本原理 3619.5.2 基本效果案例 3629.5.3 升级效果案例 3649.6 非真实感绘制 3669.6.1 基本原理与案例效果 3669.6.2 具体开发步骤 3689.7 描边效果的实现 3709.7.1 沿法线挤出轮廓 3709.7.2 视空间中挤出 3739.8 本章小结 3740章 两种测试及片元丢弃 37510.1 剪裁测试 37510.1.1 基本原理与核心代码 37510.1.2 一个简单的案例 37510.2 模板测试 37710.2.1 基本原理 37710.2.2 一个简单的案例 38010.3 片元丢弃操作 38310.4 任意剪裁平面 38510.4.1 基本原理 38510.4.2 茶壶被任意平面剪裁的案例 38610.5 本章小结 3871章 顶点着色器的妙用 38811.1 飘扬的旗帜 38811.1.1 基本原理 38811.1.2 开发步骤 38911.2 扭动的软糖 39211.2.1 基本原理 39211.2.2 开发步骤 39311.3 风吹椰林场景的开发 39411.3.1 椰子树随风摇摆的基本原理 39511.3.2 开发步骤 39611.4 展翅飞翔的雄鹰 40011.4.1 基本原理 40011.4.2 开发步骤 40011.5 二维扭曲 40211.5.1 基本原理 40311.5.2 开发步骤 40311.6 吹气膨胀特效 40611.6.1 基本原理 40611.6.2 开发步骤 40611.7 本章小结 4072章 片元着色器的妙用 40812.1 程序纹理技术 40812.1.1 砖块着色器 40812.1.2 沙滩球着色器 41012.2 数字图像处理 41112.2.1 卷积的基本知识 41112.2.2 平滑过滤 41212.2.3 边缘检测 41312.2.4 锐化处理 41412.2.5 浮雕效果 41412.2.6 图像渐变 41512.2.7 卡通渲染 41612.3 分形着色器 41812.3.1 曼德布罗集简介 41812.3.2 曼德布罗集着色器的实现 41912.3.3 将曼德布罗集纹理应用到实际物体上 42112.3.4 茱莉亚集着色器的实现 42112.4 3D纹理的妙用 42312.4.1 噪声函数的基础知识 42312.4.2 柏林噪声生成工具 42612.4.3 3D噪声木纹理茶壶的开发 42712.5 体积雾 42912.5.1 基本原理 42912.5.2 开发步骤 43012.6 粒子系统火焰的开发 43112.6.1 火焰的基本原理 43112.6.2 普通版火焰 43312.6.3 点精灵版火焰 44112.7 本章小结 4443章 真实光学环境的模拟 44513.1 反射环境模拟 44513.1.1 案例效果与基本原理 44513.1.2 开发前的准备工作 44613.1.3 开发步骤 44713.2 折射环境模拟 44913.2.1 案例效果与基本原理 44913.2.2 开发步骤 45013.3 色散效果模拟 45213.3.1 案例效果与基本原理 45213.3.2 开发步骤 45213.4 菲涅尔效果的模拟 45313.4.1 案例效果与基本原理 45313.4.2 开发步骤 45413.5 凹凸映射 45513.5.1 案例效果与基本原理 45513.5.2 法向量纹理图的生成 45613.5.3 切向量的计算 45813.5.4 案例的开发 45913.6 镜头光晕 46413.6.1 案例效果与基本原理 46413.6.2 镜头光晕案例 46513.7 投影贴图 46813.7.1 案例效果与基本原理 46813.7.2 开发步骤 47013.8 绘制到纹理 47213.8.1 案例效果与基本原理 47213.8.2 开发步骤 47313.9 高级镜像 47613.9.1 案例效果与基本原理 47613.9.2 开发步骤 47713.10 高真实感水面倒影 48013.10.1 案例效果与基本原理 48013.10.2 开发步骤 48113.11 本章小结 4844章 阴影及高级光照 48514.1 多重渲染目标 48514.1.1 基本知识 48514.1.2 一个简单的案例 48614.2 阴影的重要性 49114.3 平面阴影 49314.3.1 案例效果与基本原理 49314.3.2 开发步骤 49414.4 阴影映射 49714.4.1 案例效果与基本原理 49714.4.2 距离纹理的生成 49814.4.3 阴影场景的绘制 50114.5 阴影贴图 50614.5.1 案例效果与基本原理 50614.5.2 开发步骤 50714.6 静态光照贴图 50814.6.1 案例效果与基本原理 50814.6.2 使用3ds Max制作静态光照贴图 50914.6.3 案例的开发 51014.7 聚光灯高级光源 51214.7.1 种实现的案例效果与基本原理 51314.7.2 种实现案例的开发步骤 51414.7.3 第二种实现的案例效果与基本原理 51514.7.4 第二种实现案例的开发步骤 51614.8 延迟渲染 51714.8.1 案例效果与基本原理 51714.8.2 开发步骤 51814.9 环境光遮挡 52214.9.1 基本原理 52214.9.2 一个简单的案例 52414.9.3 效率的提升 52614.9.4 平滑处理 52814.10 本章小结 5295章 几种高级着色器特效 53015.1 运动模糊 53015.1.1 普通运动模糊 53015.1.2 高级运动模糊 53315.2 遮挡透视效果 53615.2.1 案例效果与基本原理 53615.2.2 开发步骤 53815.3 积雪效果 54115.3.1 案例效果与基本原理 54115.3.2 开发步骤 54115.4 背景虚化 54215.4.1 案例效果与基本原理 54215.4.2 开发步骤 54315.5 泛光效果 54515.5.1 案例效果与基本原理 54515.5.2 开发步骤 54615.6 色调映射 54815.6.1 案例效果与背景知识 54815.6.2 开发步骤 54915.7 体绘制 55015.7.1 案例效果与基本原理 55015.7.2 开发步骤 55115.8 本章小结 5536章 骨骼动画 55416.1 开发骨骼动画 55416.1.1 骨骼动画的基本原理 55416.1.2 开发步骤 55716.1.3 机器人模型在地面上运动时的问题 56316.2 ms3d骨骼动画文件的加载 56616.2.1 ms3d文件的格式 56616.2.2 将3ds Max动画文件转换为ms3d文件 57016.2.3 加载ms3d文件案例的开发 57416.3 自定义格式骨骼动画的加载 59116.3.1 bnggdh文件的格式 59116.3.2 Bnggdh类 59416.3.3 加载bnggdh文件的案例 59416.4 本章小结 6067章 让应用运行得更流畅——性能优化 60717.1 着色器的优化 60717.1.1 计算量及计算频率的相关问题 60717.1.2 其他需要注意的问题 60817.2 纹理图的优化 60917.3 3D图形绘制的优化 61017.3.1 CPU阶段的优化 61017.3.2 几何阶段的优化 61117.3.3 光栅化阶段的优化 61217.4 图元重启 61217.4.1 基本原理 61217.4.2 一个简单的案例 61317.5 几何体实例渲染 61417.5.1 基本原理 61417.5.2 基于实例渲染的土星光环案例 61517.6 视锥体剪裁 62017.6.1 AABB包围盒的基本原理 62017.6.2 AABB包围盒的计算 62117.6.3 视锥体剪裁的基本思路及实现策略 62217.6.4 一个简单的案例 62317.7 遮挡查询 62617.7.1 相关方法 62617.7.2 基本原理和实现策略 62617.7.3 一个简单的案例 62717.8 计算着色器的使用 63017.8.1 基础知识 63017.8.2 动态法向量光照水面案例 63317.9 多线程并发渲染 64017.9.1 基本原理 64117.9.2 飞船案例的开发 64117.10 多子通道渲染 64617.10.1 基本原理 64617.10.2 一个简单的案例 64717.11 细节级别LOD 65217.12 本章小结 6538章 杂项 65418.1 四元数旋转 65418.1.1 基本原理与案例效果 65418.1.2 开发步骤 65618.2 3D拾取技术 66218.2.1 案例效果与基本原理 66218.2.2 开发步骤 66518.3 多重采样抗锯齿 67018.3.1 基本知识与案例效果 67018.3.2 一个简单的案例 67118.4 保存屏幕截图 67418.5 Windows系统窗口缩放 67618.6 曲面细分着色器 67718.6.1 基本知识 67718.6.2 一个简单的案例 68018.7 几何着色器 68518.8 macOS、iOS与Linux平台下Vulkan应用的开发 68818.8.1 macOS与iOS平台下Vulkan应用程序的开发 68818.8.2 Linux平台下Vulkan图形应用程序的开发 69218.9 本章小结 7009章 基于Vulkan的3D休闲游戏——方块历险记 70119.1 游戏背景及功能概述 70119.1.1 游戏开发背景概述 70119.1.2 游戏功能简介 70119.2 游戏的策划及准备工作 70219.2.1 游戏的策划 70319.2.2 游戏的开发准备工作 70319.3 游戏的架构 70519.3.1 各类的简要介绍 70519.3.2 游戏框架简介 70619.4 布景相关类 70719.4.1 3D布景类——My3Dlayer 70719.4.2 总绘制类——MyDraw 71219.4.3 摄像机管理类——CameraUtil 71619.4.4 3D物体创建类——Square3D 71719.5 机关与方块相关类 71819.5.1 方块管理类——ZFTManager 71819.5.2 地刺机关管理类——DiCiBox 72119.5.3 掉落块机关管理类——DiaoLuoManager 72219.6 游戏入口及辅助工具类 72419.6.1 游戏入口类——main 72419.6.2 触控监听类——Touch2D 72619.7 着色器的开发 72819.8 游戏的优化及改进 730
作者介绍
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为Vulkan、OpenGL ES、手机游戏、以及VR/AR。同时为3D游戏、VR/AR独立软件工程师,并兼任百纳科技软件培训中心首席培训师。近十年来为数十家企业培养了上千名高级软件开发人员,曾编写过《OpenGL ES 3x游戏开发(上下卷)》、《Unity 案例开发大全(版~第二版)》、《VR与AR开发高级教程——基于Unity》、《H5和WebGL 3D开发实战详解》、《Android应用案例开发大全》(版至第四版)、《Android游戏开发大全》(版至第四版)等多本技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列的Android应用程序与3D游戏。
序言

   相关推荐   

—  没有更多了  —

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

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