Vulkan教程 – 17 描述符与内存对齐
之前章节的描述符布局描述了描述符可以绑定的类型。本章我们要对每个VkBuffer资源创建一个描述符集合来将它绑定到统一缓冲描述符上。 描述符集合不能够直接创建,必须从一个池中分配ÿ...
Vulkan教程 – 10 创建图形管线
在我们完成管线创建之前,我们需要告诉Vulkan渲染将要用到的帧缓冲附件的信息。我们需要明确有多少颜色和深度缓冲,每个又有多少采样以及它们的内容应该如何通过渲...
Vulkan教程 – 14 顶点缓冲
接下来几章,我们会使用内存中的顶点缓冲替换掉顶点着色器中的硬编码顶点数据。我们用最简单的方式开始,创建一个CPU可见的缓冲,使用memcpy来将顶点数据直...
Vulkan教程 – 25 多重采样(教程结束)
现在我们的程序可以加载贴图LOD了,可以在渲染远处对象的时候修复假象。现在图像看起来更平滑了,但是离近看的时候会发现几何边缘线有凹凸不平锯齿状的图案。 这个并非我们想要的效...
Vulkan教程 – 16 MVP与统一缓冲对象
我们现在能为每个顶点传输任意属性到顶点着色器了,但是用全局变量怎么样呢?我们本章要转移到3D图形上,这就需要Model-View-Projection矩阵了,也就...
Vulkan教程 – 09 固定管线
固定管线 老式图形API为多数图形管线提供了默认状态。而在Vulkan中你必须明确所有的东西,从视口大小到混合函数。本章我们会填充所有的结构体来配置这些固定管线操作。 ...
Vulkan教程 – 15 索引缓冲
顶点缓冲已经能正常工作了,但是让我们能够从CPU访问的内存类型可能对显卡本身读取来说不是最优的。最好的内存会有VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT标记,且通...
Vulkan教程 – 01 环境搭建
根据工作需要,开始学习Vulkan了。由于以前没有太接触图形的知识,感觉Vulkan学习任重道远啊。毕竟是很底层,很核心的技术,而且要用C或者C++,难是肯...
Vulkan教程 – 04 物理设备与队列族
在通过VkInstance初始化Vulkan后,我们需要选择物理硬件也就是显卡来进行后面的工作了,在initVulkan方法中添加一个函数pickPhysicalDevice。我们选择的显卡存储在VkPhysicalDevice...
Vulkan教程 – 20 图像采样器
本章我们继续创建两个资源,用于图形管线采样图像。第一个资源是我们已经见过的,也就是和交换链图像打交道的时候用的,但是第二个则是新的,它和着色器如何从图像读取...
Vulkan教程 – 02 代码架构及实例创建
本篇博客继续学习Vulkan,主要是基础代码学习记录。 先来一个通用的结构: #include <vulkan/vulkan.h> #include <iostream> #include <stdexcept> #include <...