Vulkan教程 - 16 MVP与统一缓冲对象-卡核

Vulkan教程 – 16 MVP与统一缓冲对象

        我们现在能为每个顶点传输任意属性到顶点着色器了,但是用全局变量怎么样呢?我们本章要转移到3D图形上,这就需要Model-View-Projection矩阵了,也就...
Vulkan教程 - 09 固定管线-卡核

Vulkan教程 – 09 固定管线

固定管线         老式图形API为多数图形管线提供了默认状态。而在Vulkan中你必须明确所有的东西,从视口大小到混合函数。本章我们会填充所有的结构体来配置这些固定管线操作。 ...
Vulkan教程 - 15 索引缓冲-卡核

Vulkan教程 – 15 索引缓冲

        顶点缓冲已经能正常工作了,但是让我们能够从CPU访问的内存类型可能对显卡本身读取来说不是最优的。最好的内存会有VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT标记,且通...
Vulkan教程 - 01 环境搭建-卡核

Vulkan教程 – 01 环境搭建

根据工作需要,开始学习Vulkan了。由于以前没有太接触图形的知识,感觉Vulkan学习任重道远啊。毕竟是很底层,很核心的技术,而且要用C或者C++,难是肯...
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网格渲染做好准备了,但是现在的顶点和索引数组都是比较无聊的。本章我们扩展该程序来从真实的模型文件加载顶点和索引数据,以让显卡做点真正的工作。...