Vulkan教程 - 06 交换链-卡核

Vulkan教程 – 06 交换链

Swap chain(交换链) 现在到了Vulkan教程第十章了,学习交换链。Vulkan没有默认帧缓冲的概念,因此它需要一个基础设施,能够在我们通过屏幕看到内容之前,...
Vulkan教程 - 04 物理设备与队列族-卡核

Vulkan教程 – 04 物理设备与队列族

在通过VkInstance初始化Vulkan后,我们需要选择物理硬件也就是显卡来进行后面的工作了,在initVulkan方法中添加一个函数pickPhysicalDevice。我们选择的显卡存储在VkPhysicalDevice...
Vulkan教程 - 20 图像采样器-卡核

Vulkan教程 – 20 图像采样器

本章我们继续创建两个资源,用于图形管线采样图像。第一个资源是我们已经见过的,也就是和交换链图像打交道的时候用的,但是第二个则是新的,它和着色器如何从图像读取...
Vulkan教程 - 02 代码架构及实例创建-卡核

Vulkan教程 – 02 代码架构及实例创建

本篇博客继续学习Vulkan,主要是基础代码学习记录。 先来一个通用的结构: #include <vulkan/vulkan.h> #include <iostream> #include <stdexcept> #include <...
Vulkan教程 - 21 组合图像采样器-卡核

Vulkan教程 – 21 组合图像采样器

在统一缓冲章节我们第一次见到了描述符,这一章我们会介绍一个新的描述符,即组合图像采样器。该描述符让着色器通过一个采样器对象访问图像资源成为了可能。 修改描述符布局、描述...
Vulkan教程 - 07 图像视图和图形管线-卡核

Vulkan教程 – 07 图像视图和图形管线

图像视图 使用任何的VkImage,包括在交换链中的,我们都要在渲染管线中创建VkImageView对象。图像视图描述了如何获取图像,获取图像的哪个部分,比如它是否应该被当作2...
Vulkan教程 - 22 深度缓冲-卡核

Vulkan教程 – 22 深度缓冲

        现在创建的几何对象是投影到3D中的,但是还是完全的平面。本章我们添加一个Z坐标来为3D网格做准备。我们会使用这个第三个坐标来放置一个正方形在我们当前正方形之上ÿ...
Vulkan教程 - 03 验证层-卡核

Vulkan教程 – 03 验证层

Vulkan API设计一开始就是要减轻驱动负担,所以API本身的错误检查很少。但是并不表示我们不能向API添加这些检查,这也就是validation layers的功能了。验证层中常用的操作有:...
Vulkan教程 - 23 加载模型-卡核

Vulkan教程 – 23 加载模型

现在你的程序已经为有贴图的3D网格渲染做好准备了,但是现在的顶点和索引数组都是比较无聊的。本章我们扩展该程序来从真实的模型文件加载顶点和索引数据,以让显卡做点真正的工作。...
Vulkan教程 - 12 栅栏和信号量-卡核

Vulkan教程 – 12 栅栏和信号量

        这一章所有东西都会整合到一起了。我们将会写一个drawFrame方法,它会被主循环调用,将三角形呈现到屏幕上。创建drawFrame方法在mainLoop的while内处理事件后调用&...
Vulkan教程 - 24 生成Mip贴图-卡核

Vulkan教程 – 24 生成Mip贴图

现在我们的程序可以加载和渲染3D模型了,本章我们再添加一个新的特性,Mip贴图。Mip贴图是被游戏和渲染软件所广泛使用的,Vulkan也对Mip生成给了我们足够的控制。 Mip贴图是...
Vulkan教程 - 05 逻辑设备与窗口表面-卡核

Vulkan教程 – 05 逻辑设备与窗口表面

逻辑设备 选择了物理设备后,我们需要建立逻辑设备来交互了。逻辑设备创建过程和实例创建过程类似,且描述了我们想要的特性。向类中添加一个新的成员变量存储逻辑设备句柄: ...