Vulkan
syddf_shadow
这个作者很懒,什么都没留下…
展开
-
【Vulkan学习记录-基础篇-5】多线程渲染
现代的图形API都具备对多线程渲染友好的特性,所谓的多线程并不是指GPU端的多线程图像渲染,而是指在CPU提交DrawCall时所做的一系列工作可以并行化,也就是说多线程渲染其实是在CPU端提升程序的性能。在使用D3D 11或者OpenGL的时候,每次提交DrawCall之前,都需要将相关的状态进行更新,将需要用的资源进行绑定,在提交DrawCall时,还要进行相关的参数检查等工作,这些看上去耗...原创 2019-10-23 20:24:29 · 2853 阅读 · 0 评论 -
【Vulkan学习记录-基础篇-1】用Vulkan画一个三角形
好久没有更新过博客了,上半年一直忙着找实习的事情,不过现在已经入职一段时间了,也可以抽出时间来继续整理一些内容,所以最近会尽量变得勤快一点来写博客。Vulkan是新一代的图形API,具有跨平台、高性能的优势,它强调减少对驱动的依赖性,和传统的图形API(例如OpenGL、Direct3D)相比,它需要程序员自己在程序方面做以往驱动做的事情,因此Vulkan的代码量会比传统的图形API多很多,学习...原创 2019-07-30 14:59:57 · 7198 阅读 · 3 评论 -
【Vulkan学习记录-基础篇-2】用Vulkan画两个重叠的矩形
在前一篇中完成了对Vulkan的初始化和三角形的绘制,其中很多东西还没有被用到,这一节最终将绘制这样两个重叠的矩形,并且它们会一直绕着屏幕中心点进行旋转。将要补充使用的内容有:VertexBuffer、IndexBuffer、StagingBuffer、UniformBuffer的创建和使用,深度缓冲的创建和设定。代码将基于第一节的内容进行增添和修改。1. 创建VertexBuffer、I...原创 2019-08-06 11:21:50 · 1599 阅读 · 0 评论 -
【Vulkan学习记录-基础篇-3】纹理和模型导入、生成Mipmap
前两篇的代码是在太过于冗杂,于是我做了一下简单的封装,现在的代码结构为:VKApp 负责初始化窗口以及VkInstance、VkDeviceVKResourceCreator 负责创建各种资源(Image、ImageView、Buffer等)VKScene 负责初始化Pipeline RenderPass等,在每一帧中执行渲染VKCommand 负责创建所有可复用的命令(CopyBuff...原创 2019-08-09 23:48:26 · 1204 阅读 · 2 评论 -
【Vulkan学习记录-基础篇-4】Vulkan中的同步机制
在Vulkan中,对资源读写所需要做的同步是应用程序的职责,Vulkan本身只提供了很少的隐式同步机制,其余的都需要在程序中显式地使用Vulkan中的同步机制来实现。提交顺序提交顺序是Vulkan中的一个非常基本的概念,它本身并不具有任何同步的意义,但是不管是Vulkan提供的隐式同步,还是用户要自己实现的显式同步,都要以这个精确的概念为前提。在Vulkan中,用户需要将命令写入Comman...原创 2019-09-27 23:37:50 · 3478 阅读 · 0 评论