vulkan

vulkan/VkMemoryPropertyFlagBits说明

typedef enum VkMemoryPropertyFlagBits { VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, VK_MEMORY_ ......
VkMemoryPropertyFlagBits vulkan

vulkan/图元重启(Primitive restart)

在Vulkan /OpenGL 绘制图形时,可能需要绘制多个并不相连的图形。这样的情况下这几个图形没法被当做一个图形来处理。也就需要多次调用 DrawArrays 或 DrawElements. 如果图形很多,可能会需要用一个循环来调用: for (int i = 0; i < num_object ......
Primitive restart vulkan

vulkan/descriptorSet

参考Shader layout(binding = 0) uniform UniformBufferObject { mat4 model; mat4 view; mat4 proj; } ubo; layout(location = 0) in vec2 inPosition; layout(lo ......
descriptorSet vulkan

Vulkan/VkPresentModeKHR

呈现模式: 对于交换链对显示模式的设置应该是最重要的,因为它代表实际显示图像到屏幕的时机。在Vulkan中有四种显示模式: 1.VK_PRESENT_MODE_IMMEDIATE_KHR 由应用提交的图像立刻被传输到屏幕。这种方式可能导致图像不完整。 2.VK_PRESENT_MODE_FIFO_K ......
VkPresentModeKHR Vulkan

Vulkan/FrameBuffer

帧缓冲(Framebuffer)代表由渲染管线进行渲染的一组图像。它们影响管线的最后几个阶段:深度模板测试,颜色混合,逻辑运算,多重采样等等。一个帧缓冲对象总是附着在一个渲染通道上并且可以用在多个具有相似模板编排的渲染通道中。 调用vkCreateFramebuffer创建帧缓冲对象。 在VkFra ......
FrameBuffer Vulkan

Vulkan/Renderpasses

能将渲染管线和运算管线区别开了的要素之一是——通用,在你使用一个渲染管线渲染图像之后也可能进行其他处理或展示给yoghurt。在复杂的图形应用中,图像需要经过许多通道才能生成,每个通道都负责不同的部分,比如全屏幕的后处理或合成,或渲染UI元素等。 这些通道可以由vulkan的一个渲染通道对象表达出来 ......
Renderpasses Vulkan

Vulkan/Graphics Pipelines

渲染是vulkan最基础的功能,也是众多图形化应用最核心的部分。vulkan的渲染过程可以当作是通过执行不同阶段的命令以此来在展示设备上渲染出图片的过程。 vulkan中,渲染管线可以看作是一条生产流水线,命令在管线的开头进入,并且在管线内不同阶段执行。每个阶段都有诸如变换,读取命令或关联的数据,然 ......
Pipelines Graphics Vulkan

Visual Studio 2022:Vulkan 环境配置

(前置)安装VulkanSDK,并确认安装目录,此后记为%VulkanDir%(例如:C:/VulkanSDK/1.3.261.1) Visual Studio中新建C++项目,进入“项目”>>“[项目名]属性”,上方两个选项设置为“所有配置”“所有平台” C/C++ >> 常规 >> 附加包含目录 ......
环境 Visual Studio Vulkan 2022

MacOS下vulkan提示VK_ERROR_INCOMPATIBLE_DRIVER问题解决记录

问题 最近在学习vulkan,按照vulkan官网教程学习到Instance这个章节时遇到了一个问题。就是在MacOS下调用createInstance函数创建instance时,会提示VK_ERROR_INCOMPATIBLE_DRIVER,而Windows下却没有这个问题。 解决过程 一开始以为 ......

构造Vulkan图形管线:VkGraphicsPipeline

创建 Pipeline 构造信息: 它包括: 基本构造信息 VkStructureType 构建Pipeline额外需要的结构:const void* pNext 构建Pipeline时指定的Flags:VkPipelineCreateFlags 多个ShaderStage信息:VkPipeline ......
VkGraphicsPipeline 管线 图形 Vulkan

Vulkan vertex buffer使用方法

vs shader如下面格式: //vs #version 450 layout(binding = 0) uniform UniformBufferObject { mat4 model; mat4 view; mat4 proj; } ubo; layout(location = 0) in v ......
使用方法 方法 Vulkan vertex buffer

使用Vulkan-Loader将ncnn代码改成Dynamic Loader Vulkan的形式

原本你写的程序是静态链接的系统的vulkan-1.dll,如果系统不存在vulkan-1.dll,则会直接崩溃。 关于将ncnn静态链接vulkan改成动态加载vulkan的形式,然后提供这两个函数 bool ncnn::has_vulkan(); void ncnn::use_vulkan(boo ......
Vulkan Loader Vulkan-Loader 形式 Dynamic

Vulkan Descriptor绑定过程

如果shader中的资源是这么排布的: //vs layout(set = 0, binding = 0, std140) uniform UBO { mat4 projection; mat4 view; mat4 model; } ubo; layout(location = 0) in vec ......
Descriptor 过程 Vulkan

Linux安装vulkan的sdk

步骤很简单 1.下载SDK 例如 https://sdk.lunarg.com/sdk/download/1.3.250.1/linux/vulkansdk-linux-x86_64-1.3.250.1.tar.gz 2.设置环境变量 先解压,然后进入目录,接着设置环境变量,例如当前目录为/root ......
vulkan Linux sdk

ncnn - vulkan 模式开启时,可能会遇到的问题

ncnn::Option dopt; dopt.num_threads = 4;// ncnn::get_big_cpu_count(); dopt.use_fp16_packed = false; dopt.use_fp16_storage = false; dopt.use_fp16_arith ......
模式 vulkan 问题 ncnn

一文详解Mac搭建Vulkan开发环境

本文为Vukan系列的第二篇文章,上一篇文章对Vulkan进行了简单介绍,并对其与OpenGL的优劣势进行了比较,为应用开发人员在选择图形API方面提供了建议。下边开始本文的主要内容,详细介绍在Mac操作系统中,如何搭建Vulkan开发环境。 ......
环境 Vulkan Mac

OpenGL不够用?为何还要开发Vulkan?

>相信不少朋友和我一样有这样的疑问`既然已经有广泛应用的OpenGL图形接口,为什么Khronos还要花费精力重新开发一套Vulkan图形API接口呢?` 查询相关资料后,总结为一句话`为了更高的性能、更低的驱动程序开销`。 对于许多图形开发者来说,OpenGL是一个非常熟悉和广泛使用的图形API接 ......
不够 OpenGL Vulkan

Vulkan学习笔记之开发环境搭建

一、概述 最近因为工作需要开始学习Vulkan的相关知识,作为初学者,发现相对较好的学习资料莫过于vulkan-tutorial,在自己学习Vulkan的过程中,决定将自己的理解记录下来,一是为了加深记忆,二是为了分享给大家一起探讨学习,因此有了本系列文章,开发环境搭建是本系列文章的第一篇。 二、开 ......
环境 笔记 Vulkan

mingw clang64 vulkan

Installation: pacman -S mingw-w64-clang-x86_64-vulkan-devel Packages: mingw-w64-clang-x86_64-spirv-headers mingw-w64-clang-x86_64-spirv-tools mingw-w6 ......
vulkan mingw clang 64

Vulkan Support Check and Dynamic Loader C++ code sample

很多时候不想静态依赖VulkanSDK所提供的静态库,因为会遇到一些过早的电脑不支持vulkan, 那么就需要使用动态加载vulkan-1.dll(for Windows)或libMoltenVK.dylib(for MacOS)的方式进行判断了。 VulkanSDK提供了相关头文件实现可以做到相关 ......
Support Dynamic Vulkan Loader sample

vulkan开发遇到的坑——RenderDoc

本想用RenderDoc来调试shader,结果写完管线后,renderdoc能够正常抓帧,但是当你点击左侧的drawcall窗口中任何一个命令时,renderdoc直接崩溃。 省去一系列寻找问题的过程,结果是——在你创建vkpipeline后,该pipeline中每一个descriptorsetl ......
RenderDoc vulkan

如果设备不支持vulkan,就用swiftshader,否则就加载系统的vulkan的正确姿势(让程序能够智能的在vulkan-1.dll和libvk_swiftshader.dll之间切换)

如果设备不支持vulkan,就用swiftshader,否则就加载系统的vulkan的正确姿势,让程序能够智能的在vulkan-1.dll和libvk_swiftshader.dll之间切换 ......
共22篇  :1/1页 首页上一页1下一页尾页