摘要:1、可以用validation layers 进行验证; 2、Snapdragon Profiler 使用说明
阅读全文
摘要:1.2之前定的版本采用 vkSemaphore和vkFence来进行同步, VkSemaphore allowed applications to synchronize operations across device queues. VkFence facilitated device to h
阅读全文
摘要:Layers 暴露给api层,不像传统图形API集成在驱动里面,开发者根据自己的需要进行开启,最终目的还是为了提高性能。 The Loader he loader is the central arbiter in the Vulkan runtime. The application talks
阅读全文
摘要:1、通过下面的接口,可以获得显卡支持的所有内存类型; MemoryType的类型如下: 2、引用索引3对内存的描述 我们可以通过调用vkGetPhysicalDeviceMemoryProperties查询应用可使用的内存。它会返回请求大小的一个或多个内存堆,或者请求属性的一种或多种内存类型。每种内
阅读全文
摘要:Waiting for a Swapchain Buffer Beginning the Render Pass Bind the Pipeline Bind the Descriptor Sets Bind the Vertex Buffer Set the Viewport and Scisso
阅读全文
摘要:A graphics pipeline consists of shader stages, a pipeline layout, a render pass, and fixed-function pipeline stages. Dynamic State A dynamic pipeline
阅读全文
摘要:A vertex buffer is a CPU-visible and GPU-visible buffer that contains the vertex data that describes the geometry of the object(s) you wish to render.
阅读全文
摘要:The Vulkan Framebuffer Framebuffers represent a collection of memory attachments that are used by a render pass instance. Examples of these memory att
阅读全文
摘要:Compiling GLSL Shaders into SPIR-V 1、SPIR-V 是vulkan的底层shader语言。GLSL可以通过相关接口转换为SPIR-V。 Creating Vulkan Shader Modules The Microsoft open source DXC com
阅读全文
摘要:Create a Render Pass A render pass describes the scope of a rendering operation by specifying the collection of attachments, subpasses, and dependenci
阅读全文
摘要:当我们有了一个uniform buff之后,vulkan 还不知道这个信息,需要通过descriptor进行描述。 Descriptors and Descriptor Sets A descriptor is a special opaque shader variable(隐藏变量) that
阅读全文
摘要:深度缓冲是可选的,比如渲染一个3D的立方体的时候,就需要用到深度缓冲。Swapchain就算有多个images,此时深度缓冲区也只需要一个。vkCreateSwapchainKHR 会创建所有需要的images, 深度缓冲的image需要你手动创建和分配内存,流程如下: Create the dep
阅读全文
摘要:Swapchain是一系列最终会展示给用户的图像的集合。 /* * Set up swapchain: * - Get supported uses for all queues * - Try to find a queue that supports both graphics and pres
阅读全文
摘要:Basic Command Buffer Operation 调用指定的api, 驱动将命令放入指定的buff当中。 在其他图形API(dx,or opengl) ,glsetlinewidth驱动会将其他所有的事情都做掉。 Command Buffer Pools 好处: 1、避免频繁分配和释放;
阅读全文
摘要:Enumerate Physical Devices Vulkan instance创建完成之后,vulkan loader是知道你有几个物理设备(显卡),但是程序不知道,需要通过 相关接口获取设备情况。 Create a (Logical) Device Picking a Device Devi
阅读全文
摘要:上一篇 Vulkan SDK Demo 熟悉 粗略的了解了下,一个app是如何调用vulkan的api来展示一个立方体的,但是对其中的每一个api了解并不深刻,后面的系列会根据sample的tutorial Welcome to the Vulkan Samples Tutorial , 结合官方提
阅读全文
摘要:开发资料汇总 1、API Reference 2、Vulkan Spec 有详细说明的pdf 文章 1、知乎 Vulkan-高性能渲染 2、Life of a triangle - NVIDIA's logical pipeline 3、Round Robin 算法 4、NVIDIA Develop
阅读全文
摘要:DiligentEngine的API是D3d11和D3D12风格的,vulkan也被封装成了这种风格的API。 在了解Diligent Engine是如何对vulkan进行封装之前,我准备先学习下Vulkan。知乎funchun的编程指南是中文版,英文不好,准备先看一版中文版,回头再去研习其他的内容
阅读全文