Vulkan-LoaderAndValidationLayers
全部标签 我正在尝试构建适用于Windows的Vulkan工具。对于我使用的构建:Windows7x64VisualStudio2012cmake3.6.1python3.5我在windowsbat文件中从命令提示符设置的那个参数,在CMake工作期间我在CMakeError.log中有以下错误:LINK:fatalerrorLNK1104:cannotopenfile'MSVCRTD.lib'.当我打开创建的CompilerIdCXX.vcxproj并尝试构建它时,如果我将路径添加到它正常构建的所需库,我会遇到类似的问题。在CMake文件中,我尝试使用命令link_directories添加库
我一直想使用新的图形APIVulkan,并且已经在Windows7上顺利启动并运行它。但是我无法让Vulkan在Linux上工作。当我尝试运行任何LunarG示例,甚至是我自己的代码时,vkEnumeratePhysicalDevices总是说没有物理设备。这是我的设置:OS:Ubuntu16.04(LTS)[x64]GPU:NvidiaGeforceGT7302GBGDDR5Driver:NVIDIABinarydriver-version364.19fromnvidia-364(opensource)VulkanSDK:LunarGv1.0.17.0[latestversion]我
很久以前研究过用NV_DX_interop扩展让D3D和OpenGL共享资源,OpenGL在当初设计的时候电脑和操作系统还是个相对比较简单的东西,因此OpenGLAPI设计没有考虑到现在计算机架构的一些特性,比如多核编程和多显卡并发。最近几年出来个Vulkan来接OpenGL的班,所以继续走起研究下D3D11和Vulkan的共享。Vulkan主程序用了vulkantutorial下面的一个教程Combinedimagesampler,这段代码演示了把一个纹理vkImage贴到一个3D的四边形面上.接下来是尝试打通一个D3D11Texture2D和这个vkImage存放图像数据的buffer,这
每当Vulkan中的一个对象被销毁,启用VK_LAYER_LUNARG_object_tracker层,并安装调试报告时,它会报告销毁调用并通过回调给出剩余对象的总数。例如:INFO:[OBJTRACK]:OBJ_STATDestroyVK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXTobj0xcf43130(217totalobjsremain&1VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXTobjs).有没有什么方法可以获取有关仍在分配的对象的信息?编辑:检查object_tracker层(https:
我刚刚浏览了LunarG“drawcube”示例并将代码合并到我的引擎中。当我运行时,我得到一个黑屏,因为黑色是清晰的颜色。我可以将透明颜色更改为不同的颜色并查看。但是,我的几何图形根本不渲染。不会生成错误或警告。我的问题是,如何解决此类问题? 最佳答案 RenderDoc与VulkanSDK(至少在Windows上)一起安装,并且是一个框架调试器,类似于PIX/Diagnostics、CodeXL和Nsight。它可以让您了解图形管道如何处理您的数据。您还应该启用validationlayers(特别是VK_LAYER_LUNAR
我正在尝试使用基于Vulkan的C++编写渲染引擎。Vulkan是用C语言编写的,因此它有一些有趣的约定。我在Vulkan应用程序的教程/代码片段中看到的一个反复出现的模式是,大多数代码都在一个非常大的类中。(现在我的vulkan类也已经有大约2000行)。但是为了制作一个合适的渲染引擎,我需要将我的代码划分到一定程度。前面提到的一个有趣的地方是它有一个叫做逻辑设备的东西,它是对显卡的抽象引用。它无处不在,以下列方式创建和分配事物:使用创建信息创建结构创建代码将输出到的变量调用实际的vkCreateSomething或vkAllocateSomething函数,传入逻辑设备,创建信息和
所以我想在Vulkan中渲染两个独立的网格。我正在涉足纹理,第一个网格使用其中的4个,而第二个使用5个。我正在做索引绘制。为简单起见,每个网格都有自己的统一缓冲区和采样器数组,打包到单独的描述符集中,每个都有一个UBO绑定(bind)和另一个采样器绑定(bind)。为每个网格运行以下代码,其中descriptorSet是与单个网格关联的描述符集。filepaths是特定用途的图像路径vector。std::vectordescriptorWrites;descriptorWrites.resize(2);VkDescriptorBufferInfobufferInfo={};buffe
当为vkCreate*函数指定一个VkAllocationCallbacks结构时,我想只使用vulkan通知而不覆盖真正的分配器,但我找不到如何做。来自https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAllocationCallbacks.htmlpfnAllocation必须是指向有效用户定义的PFN_vkAllocationFunction的有效指针pfnReallocation必须是指向有效用户定义的PFN_vkReallocationFunction的有效指针pfnFree必须是指
我想将vulkan与SDL2一起使用,但我停留在表面创建阶段,我无法使用vkCreateWin32SurfaceKHR扩展函数以及VkWin32SurfaceCreateInfoKHR扩展结构,因为它们未定义,虽然我在使用其他扩展元素(如(vkGetPhysicalDeviceSurfaceSupportKHR等..))时没有任何问题,但表面扩展是否需要单独的头文件?我怎样才能让它工作?我使用的预处理器指令如下#include#include#include#include#include#include#defineVK_USE_PLATFORM_WIN32_KHR请注意,我在没有任
随着Vulkan的发布,我决定(作为一种爱好)编写一个基于Vulkan的GUI。但是,我目前停留在第一步-加载Vulkan函数。我正在使用Nvidia的C++Vulkan包装器,据我所知,它需要全局加载Vulkan函数。我可以成功加载本地函数,但是::vkCreateInstance失败了:voidloadInstanceFunctions(){PFN_vkCreateInstancevkCreateInstance=(PFN_vkCreateInstance)vkGetInstanceProcAddr(nullptr,"vkCreateInstance");//works::vkCr