Vulkan实战

Vulkan实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

类似推荐

编辑推荐

揭开新一代图形处理API的神秘面纱,发挥出图形硬件的全部潜能。

内容简介

本书由12章构成,其中包括:Vulkan API的基础知识、Vulkan 图像显示、命令缓冲区和同步化、资源和内存、描述符集合、渲染通道和帧缓冲区、着色器、图形和计算管线、记录命令和绘制操作、拾遗补缺、照明、高级渲染技术。

章节目录

版权信息

内容简介

译者序

作者简介

致谢

审稿人简介

前言

第1章 Vulkan的基础知识

本章主要内容

下载Vulkan的SDK

启用验证层

连接Vulkan Loader库

加载Vulkan函数的准备工作

加载从Vulkan Loader库导出的函数

加载全局级函数

检查可用的实例扩展

创建Vulkan实例

加载实例级函数

确认哪些物理设备可用

检查可用的设备扩展

获取物理设备的功能和属性信息

检查可用队列家族和它们的属性

根据功能选择队列家族的索引

创建逻辑设备

加载设备级函数

获取设备队列

使用几何着色器、图形和计算队列创建逻辑设备

销毁逻辑设备

销毁Vulkan实例

释放Vulkan Loader库

第2章 Vulkan图像显示

本章主要内容

通过已启用的WSI扩展创建Vulkan实例

创建显示曲面

选择支持显示指定曲面功能的队列家族

通过已启用的WSI扩展创建逻辑设备

选择显示模式

获取显示曲面的功能

选择交换链图像

选择交换链图像的尺寸

选择使用交换链图像的场景

选择转换交换链图像的方式

选择交换链图像的格式

创建交换链

获取交换链图像的句柄

通过R8G8B8A8格式和邮箱显示模式(mailbox present mode)创建交换链

获取交换链图像

显示图像

销毁交换链

销毁显示曲面

第3章 命令缓冲区和同步化

本章主要内容

创建命令池

分配命令缓冲区

启动命令缓冲区记录操作

停止命令缓冲区记录操作

重置命令缓冲区

重置命令池

创建信号

创建栅栏

等待栅栏

重置栅栏

将命令缓冲区提交给队列

使两个命令缓冲区同步

查明已提交命令缓冲区的处理过程是否已经结束

在提交给队列的所有命令都被处理完之前等待

等待已提交的所有命令都被处理完

销毁栅栏

销毁信号

释放命令缓冲区

销毁命令池

第4章 资源和内存

本章主要内容

创建缓冲区

为缓冲区分配内存对象并将它们绑定到一起

设置缓冲区内存屏障

创建缓冲区视图

创建图像

将内存对象分配给图像并将它们绑定到一起

设置图像内存屏障

创建图像视图

创建2D图像和视图

通过CUBEMAP视图创建分层的2D图像

映射、更新主机可见内存及移除主机可见内存的映射关系

在缓冲区之间复制数据

将数据从缓冲区复制到图像

将数据从图像复制到缓冲区

使用暂存缓冲区更新与设备本地内存绑定的缓冲区

使用暂存缓冲区更新与设备本地内存绑定的图像

销毁图像视图

销毁图像

销毁缓冲区视图

释放内存对象

销毁缓冲区

第5章 描述符集合

本章主要内容

创建采样器

创建已采样的图像

创建合并的图像采样器

创建仓库图像

创建统一纹素缓冲区

创建仓库纹素缓冲区

创建统一缓冲区

创建仓库缓冲区

创建输入附着材料

创建描述符集合布局

创建描述符池

分配描述符集合

更新描述符集合

绑定描述符集合

通过纹素和统一缓冲区创建描述符

释放描述符集合

重置描述符池

销毁描述符池

销毁描述符集合布局

销毁采样器

第6章 渲染通道和帧缓冲区

本章主要内容

设置附着材料描述

设置子通道描述

设置子通道之间的依赖关系

创建渲染通道

创建帧缓冲区

为几何渲染和后处理子通道准备渲染通道

通过颜色和深度附着材料准备渲染通道和帧缓冲区

启动渲染通道

进入下一个子通道

停止渲染通道

销毁帧缓冲区

销毁渲染通道

第7章 着色器

本章主要内容

将GLSL着色器转换为SPIR-V程序

编写顶点着色器

编写细分曲面控制着色器

编写细分曲面评估着色器

编写几何着色器

编写片段着色器

编写计算着色器

编写通过将顶点位置乘以投影矩阵获得新顶点位置的顶点着色器

在着色器中使用入栈常量

编写纹理化的顶点和片段着色器

通过几何着色器显示多边形的法线

第8章 图形和计算管线

本章主要内容

创建着色器模块

设置管线着色器阶段

设置管线顶点绑定关系描述、属性描述和输入状态

设置管线输入组合状态

设置管线细分曲面状态

设置管线视口和剪断测试状态

设置管线光栅化状态

设置管线多重采样状态

设置管线深度和刻板状态

设置管线混合状态

设置管线动态状态

创建管线布局

设置图形管线创建参数

创建管线缓存对象

通过管线缓存获取数据

合并多个管线缓存对象

创建图形管线

创建计算管线

绑定管线对象

通过合并的图像采样器、缓冲区和入栈常量范围,创建管线布局

创建含有顶点和片段着色器,并启用了深度测试及动态视口和剪断测试功能的图形管线

在多个线程中创建多个图形管线

销毁管线

销毁管线缓存对象

销毁管线布局

销毁着色器模块

第9章 记录命令和绘制操作

本章主要内容

清除颜色图像

清除深度—刻板图像

清除渲染通道附着材料

绑定顶点缓冲区

绑定索引缓冲区

通过入栈常量为着色器提供数据

通过动态方式设置视口状态

通过动态方式设置剪断状态

通过动态方式设置线条宽度状态

通过动态方式设置深度偏移状态

通过动态方式设置混合常量状态

绘制几何图形

绘制带索引的几何图形

分配计算工作

在主要命令缓冲区的内部执行次要命令缓冲区

在命令缓冲区中记录通过动态视口和剪断状态绘制几何图形的命令

通过多个线程向命令缓冲区中记录命令

创建动画中的单个帧

通过增加已渲染帧的数量提高性能

第10章 拾遗补缺

本章主要内容

创建转移矩阵

创建旋转矩阵

创建缩放矩阵

创建透视投影矩阵

创建正交投影矩阵

从文件加载纹理数据

从OBJ文件加载3D模型

第11章 照明

本章主要内容

通过顶点漫射照明渲染几何图形

通过片段镜面反射照明渲染几何图形

通过法线贴图渲染几何图形

使用立方体贴图绘制反射和折射几何图形

向场景中添加阴影

第12章 高级渲染技术

本章主要内容

绘制天空盒

使用几何着色器绘制广告牌

使用计算和图形管线绘制微粒

渲染细化的地形

为进行后处理渲染四画面全屏效果

对颜色纠偏后处理效果使用输入附着材料

Vulkan实战是2022年由电子工业出版社出版,作者[波兰]帕维尔·利平斯基。

得书感谢您对《Vulkan实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
机器学习实战 电子书
《机器学习实战》面向日常任务的高效实战内容,介绍并实现机器学习的主流算法。
运营实战笔记 电子书
阿里铁军9年老兵运营心得 10000小时阿里内部运营经验总结 上百个阿里运营实践技巧分享,快速提升运营能力 健全的运营人员培养、成长、进阶体系,全面了解运营岗位,系统讲述运营人员职业成长路径 系统地讲解内容运营、社交化运营、活动运营、精细化运营、全渠道运营
ExcelVBA案例实战 电子书
本书以案例讲解的形式,由浅入深地介绍了VBA在Excel中的应用。
AppInventor开发实战 电子书
App Inventor是MIT开发的流行的可视化编程工具,编程爱好者可以在短时间学会创建炫目的安卓手机应用。
Python图像处理实战 电子书
本书先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图像处理以及计算机视觉与深度学习方面的最新进展。全书共12章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。