axis tech zone

a personal tech blog website


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

Vulkan之VertexBuffer

发表于 2020-03-17 | 分类于 计算机图形学
字数统计: 1,750 | 阅读时长 ≈ 8
vertexBuffer,它是一个Buffer,这个buffer装的是vertex信息。所以实际上我们的所有的图元的顶点信息都是放到了vertexBuffer中。而对于vulkan而言,内存的管理是由我们自己控制的,因此内存管理是一项很重要的内容。扯远了,下面我们就来看下vertexBuffer的创 ...
阅读全文 »

Vulkan之CommandBuffer

发表于 2020-03-10 | 分类于 计算机图形学
字数统计: 1,788 | 阅读时长 ≈ 8
0)引言我们的渲染操作,实际上是通过一系列的命令的形式来实现的。命令记录在commandBuffer里面,讲命令记录完毕后,会将命令提交到某个队列中执行,以实现渲染。 而vulkan的实际操作中并不是直接创建commandBuffer(这样比较低效,同时不利于buffer的管理),而是通过创建com ...
阅读全文 »

Vulkan之Pipeline

发表于 2020-03-04 | 分类于 计算机图形学
字数统计: 3,365 | 阅读时长 ≈ 16
0) pipeline基础知识vulkan的整个渲染流程实际上是一个pipeline, 也就是流水线的形式,通过在不同的管线阶段做相应的操作,最终我们可以得到渲染的结果。实际上pipeline是整个图形渲染的核心,这里面也包括了太多的内容,具体如下图所示: 在下图中,黄色部分是我们可以编程实现的部分 ...
阅读全文 »

Vulkan之Fence

发表于 2020-02-28 | 分类于 计算机图形学
字数统计: 1,323 | 阅读时长 ≈ 5
vulkan以并行的方式异步的运行,这样通过设备上的多个队列和主机一起使物理资源保持繁忙,这也就使得vulkan变得异常复杂,因此需要引入各种同步原语,使得主机和设备保持同步,不至于混乱执行,这里我们首先分析下fence。 1)fence是做什么的Fence提供了一种粗粒度的,从Device向Hos ...
阅读全文 »

Vulkan之FrameBuffer

发表于 2020-02-24 | 分类于 计算机图形学
字数统计: 456 | 阅读时长 ≈ 2
framebuffer就是帧缓冲,这又是一个新概念。同时对于vulkan而言,因为没有默认的framebuffer(话说vulkan本来就不打算管太多),所以需要自己创建。 那么什么是帧缓冲呢?帧缓冲是一个用来表示一组图像的对象,图形管线将在这些图像上绘制。帧缓冲区对象通过使用渲染通道的引用来创建的 ...
阅读全文 »

Vulkan之Swapchain

发表于 2020-02-17 | 分类于 计算机图形学
字数统计: 1,708 | 阅读时长 ≈ 7
交换链也是一个不太好理解的概念。 交换链本质上也是一个队列,这个队列中存放着等待present的图像。程序从交换链上获取图像进行渲染,然后再将渲染后的图像返回给交换链,等待屏幕去显示。有点类似于生产者和消费者的模式。所以我们可以看到swapchain的地位是很关键的。 1)查询swapchain的扩 ...
阅读全文 »

Vulkan之ImageView

发表于 2020-02-10 | 分类于 计算机图形学
字数统计: 483 | 阅读时长 ≈ 2
图像视图。这也是一个比较诡异的概念,正常来讲,我们创建了图像资源,那么为什么不知使用,还要创建一个图像视图的概念呢? 这是因为在vulkan中图像资源并不能被直接使用,因为需要的信息比它包含的信息更多,所以我们不能把图像资源直接作为帧缓冲的attachment使用,也不能将其绑定到描述符集,用来给s ...
阅读全文 »

Vulkan之Semaphore

发表于 2020-02-03 | 分类于 计算机图形学
字数统计: 508 | 阅读时长 ≈ 2
semaphore用于 同步不同的queue之间,或者同一个queue不同的submission之间的执行顺序。 一般来说semaphore解决的是队列中的渲染和呈现两个任务的同步的,渲染和呈现都是以命令的形式提交到队列中的,由于vulkan的多线程特性,这两者不一定谁先执行,但是我们的逻辑又得要求 ...
阅读全文 »

Vulkan之LogicalDevice

发表于 2020-01-27 | 分类于 计算机图形学
字数统计: 684 | 阅读时长 ≈ 3
选择完物理设备后,我们实际上很难直接跟物理设备进行交互,一般来说我们都是通过创建逻辑设备来处理。 创建逻辑设备的函数接口如下:123456// Provided by VK_VERSION_1_0VkResult vkCreateDevice( VkPhysicalDevice physica ...
阅读全文 »

Vulkan之Surface

发表于 2020-01-27 | 分类于 计算机图形学
字数统计: 68 | 阅读时长 ≈ 1
vulkan并没有直接的显示窗口的,这块是由第三方的组件来实现的,我们可以直接调用glfw的接口直接创建surface1234567VkSurfaceKHR surface;void createSurface() { if (glfwCreateWindowSurface(inst ...
阅读全文 »
1…567…19
changyuan

changyuan

所谓妖,只不过是求而不得的人,修而未成的果。

184 日志
17 分类
50 标签
GitHub CSDN
© 2018 — 2022 changyuan | Site words total count: 211.1k
本站访客数:
博客全站共211.1k字