• 2024-08-27Vulkan入门系列17 - 多重采样( Multisampling)
    一:概述        我们的程序现在可以加载多个级别的纹理,从而解决了在渲染远离观察者的物体时出现的伪影问题。现在图像变得平滑多了,但仔细观察,你会发现绘制的几何图形边缘呈现锯齿状。这在我们早期渲染一个四边形的程序中尤为明显:        这种不希望有的效果
  • 2024-08-22关于MNN的OPENCL和Vulkan支持
    关于MNN框架推理的时候,通过调用库当中结构体的内容,可以切换选择创建Session的具体配置。关于结构的描述见官方文档:官方文档——创建SessionCPU是编译的时候默认选择的配置方式,通过文档可知在结构体:MNN::ScheduleConfig当中有可以选择的2个成员,分别是:type(配置方式)numThread(
  • 2024-08-17MNN框架在Win10上的部署,支持OpenGL和Vulkan
    上篇记录了之前在win10上部署的流程,不过在camke的时候没有选择支持OpenGL和Vulkan。这里重新按照官方的语雀文档重新进行支持OpenGL和Vulkan的编译,简单做个记录。如果有其他的问题见上一篇博客。参见官方文档:推理框架Windows编译执行代码如下:cd/path/to/MNNpowershell#运行
  • 2024-08-07《彩虹六号:围攻》游戏闪退弹窗“缺失vulkan-1.dll”错误怎么解决?彩虹六号围攻找不到vulkan-1.dll修复方法
    在《彩虹六号围攻》遇到找不到vulkan-1.dll的情况时,可采取以下修复方法。可重新安装显卡驱动,检查游戏文件完整性,从正规渠道下载vulkan-1.dll文件并放置到正确位置,或使用dll修复工具来尝试解决这一问题。本篇将为大家带来彩虹六号围攻找不到vulkan-1.dll修复方法的内容,感兴趣的
  • 2024-07-25彩虹六号:围攻启动游戏缺失vulkan-1.dll文件怎么处理?《彩虹六号:围攻》找不到vulkan-1.dll文件修复方法
    在玩《彩虹六号:围攻》时,如果提示找不到vulkan-1.dll文件,别着急。您可以通过重新安装游戏来解决。或者检查系统是否缺少相关组件并进行安装。也可以更新显卡驱动,修复可能存在的文件缺失或损坏问题。本篇将为大家带来《彩虹六号:围攻》找不到vulkan-1.dll文件修复方法的内容,感兴
  • 2024-07-24zed使用笔记
    安装curl-fhttps://zed.dev/install.sh|sh也可以用包管理器安装:#ArchLinuxsudopacman-Szed#Nixnix-env-iAnixos.zed-editor然后输入命令zed就可以打开zed编辑器。如果报错VulkanError(ERROR_INCOMPATIBLE_DRIVER),则需要根据自己的硬件配置安装相应的vulkan包
  • 2024-07-15Franka Robot - FAQ - rviz可视化问题
    在VMware中运行Ubuntu20.04并使用ROSNoetic和Gazebo时,如果遇到Gazebo无法显示的问题,可能有以下几个原因及对应的解决方案:1.硬件加速和3D图形设置VMware的3D图形加速设置可能会影响Gazebo的显示。确保在VMware中启用了3D加速。检查和启用3D加速:打开VMware并选择你的Ubuntu
  • 2024-07-10Vulkan 教程第一部分:基础概念与初步设置
    目录1.什么是Vulkan?2.环境准备3.创建Vulkan应用程序的基本步骤4.代码实现5.详细的步骤和概念解释1.初始化窗口:2.初始化Vulkan:3.创建Vulkan实例:4.选择物理设备5.创建逻辑设备6.创建交换链7.创建图像视图8.创建渲染通道9.创建帧缓冲10.创建命令池和
  • 2024-07-10UE4中OpenGLES和Vulkan特性开启
    OpenGLES在Android手机上使用OpenGLES的RHI来启动游戏[2022.06.14-10.28.57:996][0]LogAndroid:|AndroidPlatformMisc.cpp:2332|VulkanRHIwillNOTbeused:[2022.06.14-10.28.57:996][0]LogAndroid:|AndroidPlatformMisc.cpp:2335|**Vulkansupportisnotavailabl
  • 2024-06-02Vulkan矩形绘制顺序小坑
    裁剪坐标不同:1.vulkan裁剪坐标Y朝下,所以下面矩形意义:staticstd::vector<Vertex>vertices={{{-0.5f,-0.5f,0},{1.0f,0.0f,0.0f}},//左上角{{0.5f,-0.5f,0},{0.0f,1.0f,0.0f}},//右上角{{0.5f,0.5f,0},{0.0f,0.0f,1.0f}},//右下角
  • 2024-03-16Linux Graphics Stack(图图图)
    Linux图形相关涉及到硬件、内核驱动、协议API、2D/3D渲染框架、GUI框架、桌面环境等,相当复杂,这里简单收集架构图作为记录。1硬件相关显示相关的有:Displaying:显示器、投影等。包括Displayengine、Timingscontroller、DisplayinterfacePHY。Rendering:3Drendering,2Dsha
  • 2024-02-19Vulkan内存与资源管理
    在OpenGL中,当我们创建resource的时候,内存会被自动分配。不同于OpenGL,vulkan是更加底层的API,需要显式的内存管理。显式的内存管理可以在资源复用与特定平台的优化方面带来好处。1.Vulkan内存分类Vulkan内存分为2类:Hostmemory和Devicememory。Devicememory:指显存(GPU可直接
  • 2024-02-18Vulkan中的同步与缓存控制
    1.IntroductionVulkan提供显式的同步结构,允许CPU与GPU同步命令的执行。并且还可以控制GPU中命令的执行顺序。所有执行的Vulkan命令都将进入队列,并以某种未定义的顺序“不间断”执行。有时,我们明确希望在执行新操作之前确保某些操作已完成。在编写vulkan应用时,虽然对给
  • 2024-02-01Vulkan学习苦旅05:马不停蹄地渲染(创建交换链VkSwapchainKHR)
    通俗地说,渲染图像就是为图像的每个像素选择合适的颜色。例如,如果图像的分辨率为1920x1080,表示图像中有1920x1080个像素,渲染的过程,就是为每个位置的像素计算出合适的颜色。具体来说,假设每种颜色具有RGBA四个通道,且每个通道用1个字节表示(可以表示255种不同的情况),那么图像应当占据192
  • 2024-02-01一个简单的Vulkan渲染器管线组织
    目录预计算管线逐帧管线逐帧预计算部分ShadowDepthPass逐帧计算部分G-BufferPassAOPassSSAOShadowPassCSMLightingPassPBR-IBLPassCompositePass总结问题参考资料延迟渲染管线核心在于先记录一遍每个像素上的信息,如Material、Normal、Albedo等,即G-Buffer,世界空间坐标可通
  • 2024-01-31基础知识
    从一本书说起《DOMM启示录》——约翰.马克; 约翰.罗梅洛;3D编程地本质:操纵显卡,把一些信息显示到屏幕上。图形API 图形API :跨平台,垮编程语言的图形程序接口。用于GPU上的指令功能。市面上比较成熟的图形API:OpenGL、Vulkan、DirectX。图形API到底是啥?上层应用的统一
  • 2024-01-27Vulkan学习苦旅02:看不见的窗口(创建VkInstance与VkSurfaceKHR)
    在上一节中,我们搭建了学习Vulkan所需的环境。今天,我们将会初步了解“地图”顶层的内容。 如图所示,“地图”的顶层有两个模块:Instance和SurfaceKHR.其中,Instance表示应用程序的一个实例,它用于保存一些状态,我们可以在应用程序中创建多个实例,但目前我们只创建一个实例;SurfaceKH
  • 2024-01-18vulkan/数据格式说明- normalized
    VK_FORMAT_A8B8G8R8_UNORM_PACK32VK_FORMAT_A8B8G8R8_SNORM_PACK32VK_FORMAT_A8B8G8R8_USCALED_PACK32VK_FORMAT_A8B8G8R8_SSCALED_PACK32VK_FORMAT_A8B8G8R8_UINT_PACK32 引用规范中的 IdentificationofFormats 和 ConversionfromNormalizedFixed-
  • 2023-12-27vulkan/图元重启(Primitive restart)
    在Vulkan/OpenGL绘制图形时,可能需要绘制多个并不相连的图形。这样的情况下这几个图形没法被当做一个图形来处理。也就需要多次调用 DrawArrays 或 DrawElements.如果图形很多,可能会需要用一个循环来调用:for(inti=0;i<num_objects;i++){glDrawArrays(GL_TRIA
  • 2023-12-13vulkan/descriptorSet
    参考Shaderlayout(binding=0)uniformUniformBufferObject{mat4model;mat4view;mat4proj;}ubo;layout(location=0)invec2inPosition;layout(location=1)invec3inColor;layout(location=2)invec2inTexCoord;layout(location=0)
  • 2023-12-02Vulkan/VkPresentModeKHR
    呈现模式:对于交换链对显示模式的设置应该是最重要的,因为它代表实际显示图像到屏幕的时机。在Vulkan中有四种显示模式:1.VK_PRESENT_MODE_IMMEDIATE_KHR由应用提交的图像立刻被传输到屏幕。这种方式可能导致图像不完整。2.VK_PRESENT_MODE_FIFO_KHR交换链是一个队列,当
  • 2023-12-02Vulkan/Graphics Pipelines
    渲染是vulkan最基础的功能,也是众多图形化应用最核心的部分。vulkan的渲染过程可以当作是通过执行不同阶段的命令以此来在展示设备上渲染出图片的过程。 vulkan中,渲染管线可以看作是一条生产流水线,命令在管线的开头进入,并且在管线内不同阶段执行。每个阶段都有诸如变换,读取命令
  • 2023-12-02Vulkan/Renderpasses
    能将渲染管线和运算管线区别开了的要素之一是——通用,在你使用一个渲染管线渲染图像之后也可能进行其他处理或展示给yoghurt。在复杂的图形应用中,图像需要经过许多通道才能生成,每个通道都负责不同的部分,比如全屏幕的后处理或合成,或渲染UI元素等。这些通道可以由vulkan的一个渲染
  • 2023-12-02Vulkan/FrameBuffer
    帧缓冲(Framebuffer)代表由渲染管线进行渲染的一组图像。它们影响管线的最后几个阶段:深度模板测试,颜色混合,逻辑运算,多重采样等等。一个帧缓冲对象总是附着在一个渲染通道上并且可以用在多个具有相似模板编排的渲染通道中。调用vkCreateFramebuffer创建帧缓冲对象。在VkFramebuffer
  • 2023-11-30Visual Studio 2022:Vulkan 环境配置
    (前置)安装VulkanSDK,并确认安装目录,此后记为%VulkanDir%(例如:C:/VulkanSDK/1.3.261.1)VisualStudio中新建C++项目,进入“项目”>>“[项目名]属性”,上方两个选项设置为“所有配置”“所有平台”C/C++>>常规>>附加包含目录:添加%VulkanDir%/Include(替换%VulkanDir%为实际目录,下同)