您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
Vulkan学习指南
装帧: 平装
出版社: 机械工业出版社
作者: (新加坡)帕敏德·辛格(Parminder Singh) 著 王锐 译
出版日期: 2020-04-01
商品条码: 9787111647867
版次: 1
开本: 16开
页数: 332
出版年份: 2020
定价:
¥99
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书是一本入门级的Vulkan学习指南,旨在帮助你了解Vulkan的思想、概念以及API标准,并且通过简单易懂的例子,手把手教你掌握Vulkan核心功能并进行实践。通过阅读本书,你将深入理解指令缓存的概念,尝试录制多种类型的指令并将其提交到队列处理;详细了解内存管理的知识,并学习如何使用缓存和图像资源;概要地了解SPIR-V的概念,然后在渲染通道中使用附件和子通道将绘图操作定义为独立的工作单元;创建帧缓存并构建一个实体图形流水线,基于同步机制来管NGPU和CPU之间的协同;最后,掌握炫酷的图形API技巧。
作者简介
Parminder Singh是新加坡Blackmagic Design公司的计算图形工程师。在过去十年中,他一直致力于网络模拟、几何建模、导航、自动驾驶、信息娱乐系统、图像处理及后期制作等领域的图形应用开发。他的研究主要包括泛图形的GPU编程、通用计算,平台移植以及性能优化技术。
目录
译者序
前言
致谢
作者简介
审阅者简介
第1章开始学习新一代3D图形API 1
1.1Vulkan及其演化史1
1.2Vulkan与OpenGL的对比2
1.3重要术语4
1.4Vulkan的原理5
1.4.1Vulkan的执行模型5
1.4.2Vulkan的队列6
1.4.3对象模型7
1.4.4对象生命周期与指令语法7
1.4.5错误检查与验证8
1.5理解Vulkan应用程序8
1.5.1驱动8
1.5.2应用程序9
1.5.3WSI9
1.5.4SPIR-V9
1.5.5LunarG SDK9
1.6开始学习Vulkan编程模型9
1.6.1硬件初始化10
1.6.2窗口展示表面11
1.6.3资源设置12
1.6.4流水线设置14
1.7总结18
第2章你的第一个Vulkan伪代码程序19
2.1Vulkan的安装19
2.2Hello World伪代码20
2.2.1初始化——与设备握手的过程21
2.2.2交换链初始化——查询WSI扩展24
2.2.3着色器支持——将着色器编译到SPIR-V32
2.2.4构建布局——描述符与流水线布局33
2.2.5创建渲染通道——定义通道属性34
2.2.6帧缓存——将绘制图像关联到渲染通道35
2.2.7产生几何体——在GPU内存中保存一个顶点36
2.2.8流水线状态管理——创建流水线38
2.2.9执行渲染通道——显示Hello World!!!41
2.2.10队列的提交和同步——发送任务43
2.2.11使用展示层进行显示——渲染三角形44
2.3全部整合到一起45
2.4总结46
第3章连接硬件设备47
3.1学习使用LunarG SDK48
3.2使用CMake设置我们的第一个工程49
3.3扩展简介53
3.4创建一个Vulkan实例58
3.5理解物理设备和逻辑设备65
3.5.1物理设备65
3.5.2逻辑设备69
3.6理解队列和队列族71
3.6.1查询队列族72
3.6.2创建队列74
3.7整合设备和队列的代码76
3.8总结78
第4章调试Vulkan程序80
4.1初探Vulkan中的调试方法81
4.2了解LunarG验证层及其特性82
4.3在Vulkan程序中实现调试83
4.4总结90
第5章Vulkan中的指令缓存和内存管理91
5.1开始使用指令缓存91
5.1.1显式同步92
5.1.2指令缓存中的指令类型93
5.1.3指令缓存与队列94
5.2理解指令池和指令缓存API94
5.2.1创建指令池95
5.2.2指令缓存的分配97
5.3记录指令缓存99
5.3.1队列提交100
5.3.2队列等待101
5.4实现指令缓存的封装类101
5.4.1实现指令缓存的分配过程102
5.4.2记录指令缓存的分配过程103
5.4.3提交指令到队列104
5.5管理Vulkan内存105
5.5.1宿主机内存105
5.5.2设备内存106
5.5.3分配设备内存108
5.5.4释放设备内存110
5.5.5从宿主机访问设备内存110
5.5.6延迟分配内存111
5.6总结112
第6章图像资源分配与交换链构建113
6.1什么是图像资源113
6.2了解图像资源116
6.2.1创建图像116
6.2.2理解图像的布局120
6.2.3创建图像视图121
6.3内存分配和图像资源的绑定122
6.3.1获取内存分配的需求条件123
6.3.2在设备端分配物理内存123
6.3.3将分配的内存绑定到图像对象124
6.4交换链简介124
6.4.1了解交换链实现的工作流125
6.4.2交换链实现类的框图127
6.4.3渲染器——窗口管理的自定义类127
6.4.4VulkanSwapChain——交换链的管理类132
6.4.5使用WSI创建表面并关联到窗口135
6.4.6支持画面展示的图形队列137
6.4.7查询交换链的图像格式138
6.4.8创建交换链139
6.5创建一个深度图147
6.5.1平铺简介147
6.5.2创建深度缓存图像对象149
6.5.3获取深度图的内存需求150
6.5.4判断内存的类型151
6.5.5将物理内存分配并绑定到深度图像151
6.5.6图像布局变换152
6.5.7图像布局变换与内存屏障152
6.5.8创建图像视图156
6.6总结程序流程157
6.6.1初始化157
6.6.2渲染——显示输出窗口158
6.7总结158
第7章缓存资源、渲染通道、帧缓存以及SPIR-V着色器160
7.1理解Vulkan的缓存资源类型161
7.1.1创建缓存资源对象161
7.1.2创建缓存视图162
7.2使用缓存资源创建几何体164
7.2.1准备几何体数据164
7.2.2创建顶点缓存164
7.2.3缓存创建概述165
7.2.4实现一个缓存资源——创建几何体的顶点缓存166
7.2.5理解代码流线169
7.3理解渲染通道171
7.3.1附件171
7.3.2子通道172
7.3.3渲染通道对应的Vulkan API172
7.3.4实现渲染通道176
7.4使用渲染通道来创建帧缓存179
7.5清除背景颜色182
7.5.1设置渲染通道实例的背景颜色183
7.5.2渲染颜色背景185
7.6在Vulkan中实现着色器186
7.6.1SPIR-V简介187
7.6.2将GLSL着色器编译为SPIR-V188
7.6.3实现着色器190
7.7总结197
第8章流水线和流水线状态管理199
8.1开始学习流水线199
8.2通过PCO缓冲流水线对象203
8.2.1创建流水线缓冲对象203
8.2.2合并流水线缓冲204
8.2.3从流水线缓冲获取数据205
8.2.4实现PCO206
8.3创建图形流水线207
8.3.1实现图形流水线209
8.3.2销毁流水线211
8.4理解计算流水线211
8.5Vulkan的流水线状态对象213
8.5.1动态状态214
8.5.2顶点输入状态216
8.5.3输入装配状态217
8.5.4光栅化224
8.5.5融混226
8.5.6视口管理229
8.5.7深度测试和模板测试230
8.5.8多重采样状态232
8.6实现流水线235
8.7总结237
第9章绘制对象238
9.1概述Vulkan中的绘制过程238
9.2准备绘制对象240
9.2.1录制渲染通道指令240
9.2.2绑定流水线对象244
9.2.3设置绘制对象的几何体信息245
9.2.4定义动态视口246
9.2.5裁切248
9.2.6绘制指令249
9.2.7可绘制对象的准备过程250
9.3渲染当前可绘制对象252
9.3.1获取交换链图像253
9.3.2执行绘制的指令缓存对象254
9.3.3使用展示引擎显示输出内容254
9.3.4实现可绘制对象的渲染256
9.4渲染索引几何体259
9.5理解Vulkan中的同步图元262
9.5.1栅栏262
9.5.2信号量265
9.5.3事件266
9.6改变显示窗口的大小269
9.7总结271
第10章描述符与推送常数273
10.1理解描述符的概念273
10.1.1VulkanDescriptor——用户自定义的描述符类274
10.1.2描述符集布局275
10.1.3理解流水线布局279
10.1.4描述符池281
10.1.5创建描述符集的资源283
10.1.6创建描述符集287
10.2如何在Vulkan中实现一致变量292
10.2.1预备条件292
10.2.2执行模型概述293
10.2.3初始化294
10.2.4渲染296
10.2.5更新297
10.3推送常数的更新299
10.3.1定义着色器中的推送常数299
10.3.2更新流水线布局以及推送常数300
10.3.3更新资源数据301
10.4总结304
第11章绘制纹理305
11.1图像资源快速回顾305
11.2纹理绘制的准备工作306
11.2.1设置纹理坐标307
11.2.2更新着色器程序307
11.2.3加载图像文件308
11.2.4本地图像数据结构309
11.3实现线性平铺的图像资源310
11.3.1加载图像文件311
11.3.2创建图像对象311
11.3.3内存分配和绑定313
11.3.4存储数据到设备内存314
11.3.5创建指令缓存对象315
11.3.6设置图像布局315
11.3.7提交指令缓存315
11.3.8创建一个图像采样器316
11.3.9滤波318
11.3.10边界截取方式319
11.3.11创建图像视图321
11.4使用优化平铺实现图像资源322
11.4.1加载图像文件322
11.4.2缓存对象的内存分配和绑定322
11.4.3存储数据到设备内存323
11.4.4创建图像对象324
11.4.5图像对象内存的分配和绑定324
11.4.6创建指令缓存对象325
11.4.7设置图像布局325
11.4.8缓存到图像副本325
11.4.9设置优化的图像布局参数326
11.4.10提交指令缓存327
11.4.11创建图像采样器327
11.4.12创建图像视图328
11.5在图像和缓存之间复制数据329
11.6更新描述符集330
11.7总结332
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网