没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![epub](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![mobi](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/12325370/bg1.jpg)
Vulkan 编程指南
Alexander Overvoorde 著
fangcun 译
2019 年 3 月 22 日
1
![](https://csdnimg.cn/release/download_crawler_static/12325370/bg2.jpg)
目录 2
目录
1 序 9
2 前言 13
2.1 关于本书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 电子书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 教程结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 概述 16
3.1 Vulkan 起源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 画一个三角形 . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 API 概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 校验层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 开发环境 22
4.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 MacOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 基础代码 45
5.1 一般结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 资源管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 和 GLFW 交互 . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6 实例 50
6.1 创建一个实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2 检测扩展支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3 清理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7 校验层 54
7.1 校验层是什么? . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2 使用校验层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.3 消息回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.4 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
![](https://csdnimg.cn/release/download_crawler_static/12325370/bg3.jpg)
目录 3
8 物理设备和队列族 65
8.1 选择一个物理设备 . . . . . . . . . . . . . . . . . . . . . . . . 65
8.2 设备需求检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.3 队列族 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9 逻辑设备和队列 71
9.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2 指定要创建的队列 . . . . . . . . . . . . . . . . . . . . . . . . 71
9.3 指定使用的设备特性 . . . . . . . . . . . . . . . . . . . . . . . 72
9.4 创建逻辑设备 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.5 获取队列句柄 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10 窗口表面 75
10.1 创建窗口表面 . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.2 查询呈现支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.3 创建呈现队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
11 交换链 80
11.1 检测交换链支持 . . . . . . . . . . . . . . . . . . . . . . . . . . 80
11.2 查询交换链支持细节 . . . . . . . . . . . . . . . . . . . . . . . 82
11.3 为交换链选择合适的设置 . . . . . . . . . . . . . . . . . . . . 84
11.4 表面格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
11.5 呈现模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
11.6 交换范围 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
11.7 创建交换链 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
11.8 获取交换链图像 . . . . . . . . . . . . . . . . . . . . . . . . . . 93
12 图像视图 95
13 图形管线概述 98
14 着色器模块 102
14.1 顶点着色器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
14.2 片段着色器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
14.3 逐顶点着色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
![](https://csdnimg.cn/release/download_crawler_static/12325370/bg4.jpg)
目录 4
14.4 编译着色器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
14.5 载入着色器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
14.6 创建着色器模块 . . . . . . . . . . . . . . . . . . . . . . . . . . 110
14.7 创建着色器阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . 112
15 固定功能 114
15.1 顶点输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
15.2 输入装配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.3 视口和裁剪 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.4 光栅化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
15.5 多重采样 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
15.6 深度和模板测试 . . . . . . . . . . . . . . . . . . . . . . . . . . 119
15.7 颜色混合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
15.8 动态状态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
15.9 管线布局 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
15.10 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
16 渲染流程 125
16.1 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
16.2 附着描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
16.3 子流程和附着引用 . . . . . . . . . . . . . . . . . . . . . . . . 127
16.4 渲染流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
17 阶段总结 130
18 帧缓冲 133
19 指令缓冲 136
19.1 指令池 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
19.2 分配指令缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
19.3 记录指令到指令缓冲 . . . . . . . . . . . . . . . . . . . . . . . 139
19.4 开始渲染流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
19.5 基础绘制指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
19.6 结束渲染流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
![](https://csdnimg.cn/release/download_crawler_static/12325370/bg5.jpg)
目录 5
20 渲染和呈现 143
20.1 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
20.2 同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
20.3 信号量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
20.4 从交换链获取图像 . . . . . . . . . . . . . . . . . . . . . . . . 145
20.5 提交指令缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
20.6 子流程依赖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
20.7 呈现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
20.8 多帧并行渲染 . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
20.9 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
21 重建交换链 158
21.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
21.2 重建交换链 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
21.3 交换链不完全匹配和交换链过期 . . . . . . . . . . . . . . . . . 161
21.4 显式处理窗口大小改变 . . . . . . . . . . . . . . . . . . . . . . 163
21.5 处理窗口最小化 . . . . . . . . . . . . . . . . . . . . . . . . . . 165
22 顶点输入描述 166
22.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
22.2 顶点着色器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
22.3 顶点数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
22.4 绑定描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
23 创建顶点缓冲 169
23.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
23.2 创建缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
23.3 内存需求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
23.4 内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
23.5 填充顶点缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
23.6 绑定顶点缓冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
24 暂存缓冲 178
24.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
24.2 传输队列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
剩余294页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- 晴天52732021-08-18可以,对入门学习不错
- feiningcsdn2021-04-20是翻译版本呢,最好说明一下
![avatar](https://profile-avatar.csdnimg.cn/7a43590478a4496ca103857208343944_mayohn.jpg!1)
mayohn
- 粉丝: 1
- 资源: 20
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)