Vulkan教程 - 04 物理设备与队列族-卡核

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

在通过VkInstance初始化Vulkan后,我们需要选择物理硬件也就是显卡来进行后面的工作了,在initVulkan方法中添加一个函数pickPhysicalDevice。我们选择的显卡存储在VkPhysicalDevice...
Vulkan教程 - 16 MVP与统一缓冲对象-卡核

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

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

Vulkan教程 – 11 帧缓冲和命令缓冲

        帧缓冲我们前面的章节已经讨论很多了,而且我们已经建立了渲染通道,以便得到单个的帧缓冲,有着和交换链图像一样的格式,但是我们还没有真正创建什么...
Vulkan教程 - 18 阶段性总结-卡核

Vulkan教程 – 18 阶段性总结

Vulkan学习几周了,稍微整理下。由于一开始的博客就是从环境搭建开始的,所以并没有对Vulkan的特性和教程的目标及步骤进行记录。这里主要就是做这个工作,所以这个总结并不是...
Vulkan教程 - 15 索引缓冲-卡核

Vulkan教程 – 15 索引缓冲

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

Vulkan教程 – 01 环境搭建

根据工作需要,开始学习Vulkan了。由于以前没有太接触图形的知识,感觉Vulkan学习任重道远啊。毕竟是很底层,很核心的技术,而且要用C或者C++,难是肯...
Vulkan教程 - 10 创建图形管线-卡核

Vulkan教程 – 10 创建图形管线

        在我们完成管线创建之前,我们需要告诉Vulkan渲染将要用到的帧缓冲附件的信息。我们需要明确有多少颜色和深度缓冲,每个又有多少采样以及它们的内容应该如何通过渲...
Vulkan教程 - 06 交换链-卡核

Vulkan教程 – 06 交换链

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

Vulkan教程 – 20 图像采样器

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

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

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

Vulkan教程 – 12 栅栏和信号量

        这一章所有东西都会整合到一起了。我们将会写一个drawFrame方法,它会被主循环调用,将三角形呈现到屏幕上。创建drawFrame方法在mainLoop的while内处理事件后调用&...
Google Filament引擎编译记录-卡核

Google Filament引擎编译记录

我之前写过两篇Filament编译文档,就在我的网站上,可以到如下地址找到: 捉不住的鼬鼠的训练场 - 文档 现在又在做安卓有关开发和编译的问题,尤其是涉及到C+...