vulkan 相关问题

Vulkan是Khronos Group的低开销,跨平台图形API。

在我的项目中测试添加 vulkan shaderc 时出现链接错误

CMakeLists.txt find_package(需要 Vulkan) target_link_libraries(${PROJECT_NAME} 接口 Vulkan::Vulkan) int我的shader.cpp void OpenGLShader::Compile(const std::unordered_map CMakeLists.txt find_package(Vulkan REQUIRED) target_link_libraries(${PROJECT_NAME} INTERFACE Vulkan::Vulkan) int 我的着色器.cpp void OpenGLShader::Compile(const std::unordered_map<GLenum, std::string>& shaderSources) { vk::Buffer; shaderc::Compiler compiler; shaderc::CompileOptions options; } 我尝试做的是测试这是否适用于shaderrc,但我收到了这些错误 out\build\x64-debug\GLContext.lib(OpenGLShader.cpp.obj) : error LNK2019: unresolved external symbol shaderc_compiler_release referenced in function "public: __cdecl shaderc::Compiler::~Compiler(void)" (??1Compiler@shaderc@@QEAA@XZ) out\build\x64-debug\GLContext.lib(OpenGLShader.cpp.obj) : error LNK2019: unresolved external symbol shaderc_compile_options_initialize referenced in function "public: __cdecl shaderc::CompileOptions::CompileOptions(void)" (??0CompileOptions@shaderc@@QEAA@XZ) \out\build\x64-debug\GLContext.lib(OpenGLShader.cpp.obj) : error LNK2019: unresolved external symbol shaderc_compile_options_initialize referenced in function "public: __cdecl shaderc::CompileOptions::CompileOptions(void)" (??0CompileOptions@shaderc@@QEAA@XZ) \out\build\x64-debug\GLContext.lib(OpenGLShader.cpp.obj) : error LNK2019: unresolved external symbol shaderc_compile_options_release referenced in function "public: __cdecl shaderc::CompileOptions::~CompileOptions(void)" (??1CompileOptions@shaderc@@QEAA@XZ) vk::Buffer; 这个工作正常,但是添加 shaderc 会导致这些错误,有人可以解释一下我错过了什么吗 shaderc的静态库是FindVulkan中可选组件的一部分,导入目标称为Vulkan::shaderc_combined。 find_package(Vulkan REQUIRED) target_link_libraries(${PROJECT_NAME} INTERFACE Vulkan::Vulkan Vulkan::shaderc_combined) FindVulkan还会定义Vulkan_shaderc_combined_FOUND来指定它是否确实能够找到shaderc静态库,以及它在Vulkan_shaderc_combined_LIBRARY中的静态库路径。 如果您想使用动态库,则需要使用更手动的方法。您还需要在您的发行版中包含 shaderc_shared 动态库。如果您想要调试版本,还有 shaderc_sharedd。 find_library(Vulkan_shaderc_LIBRARY NAMES shaderc PATHS ${VULKAN_SDK}/Lib) find_library(Vulkan_shaderc_shared_LIBRARY NAMES shaderc_shared PATHS ${VULKAN_SDK}/Lib) target_link_libraryes(${PROJECT_NAME} INTERFACE Vulkan::Vulkan Vulkan_shaderc_LIBRARY Vulkan_shaderc_shared_LIBRARY)

回答 1 投票 0

没有这样的文件或目录 vulkan.h

我正在尝试使用 Vulkan 创建一个项目,对于我的项目,我使用 CMake。当我尝试构建项目时出现错误 D:/programming/c++/stlViewer/external/glfw/include/GLFW/glfw3.h:111:12:...

回答 1 投票 0

如何使用 Vulkan API 查询所有 GPU 纹理格式?

我正在努力理解我需要使用 Vulkan API 查询的一个简单功能:我需要确定我的 GPU 支持的所有纹理格式。经过一番搜索,我发现了这段代码: uint...

回答 1 投票 0

为什么我们在复制到内存后立即取消映射内存

为什么映射内存后要取消映射?不是说我们在这个地址里保存着数据吗? 无效*数据; vkMapMemory(设备, stagingBufferMemory, 0, imageSize, 0, &data); memcpy(数据,像素...

回答 1 投票 0

为什么我们在复制到内存后立即取消映射内存(Vulkan)

为什么映射内存后要取消映射?不是说我们在这个地址里保存着数据吗? 无效*数据; vkMapMemory(设备, stagingBufferMemory, 0, imageSize, 0, &data); memcpy(数据,像素...

回答 1 投票 0

Vulkan 上队列之间的同步缓冲区

我正在开发一个带有两个命令队列的游戏。一种用于计算着色器计算繁重的工作,大约需要 40ms,一种用于渲染,需要不到 16ms。 我需要使用计算结果来修改渲染...

回答 1 投票 0

VkInvalidateMappedMemoryRanges 用法

我无法理解 vkInvalidateMappedMemoryRanges 的用法。 该文档称,它会使主机的缓存行无效,无法从主内存读取数据。我的理解是如果我有

回答 1 投票 0

EnumerateInstanceLayerProperties 不返回 VK_LAYER_KHRONOS_validation 层

我正在通过 Silk.NET 尝试 Vulkan API。 在检查验证层步骤中,它返回此层: 但它不包含 VK_LAYER_KHRONOS_validation,这会引发异常。 私有只读 b...

回答 1 投票 0

gl_VertexIndex 与 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP

我正在使用 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP 绘制一个矩形,我想知道 gl_VertexIndex 如何使用它。 例如,如果我用右下角绘制矩形;左上方;右下角...

回答 1 投票 0

gl_VertexID 与 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP

我正在使用 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP 绘制一个矩形,我想知道 gl_InstanceIndex 如何使用它。 例如,如果我用右下角绘制矩形;左上方;下里...

回答 1 投票 0

VS Code 上显示“启动时 Android 模拟器退出,代码为 -11”错误,有什么解决方案吗?

当我在 VS Code 中运行命令“flutter emulators --launch Pixel_3a_API_25”时,出现以下错误: 错误图像(“flutter emulators --launch Pixel_3a_API_25”命令的输出) 输出...

回答 2 投票 0

为什么 vulkan 交换链更喜欢非 SRGB 格式?

在Vulkan立方体示例中,选择表面格式的方法是: vk::SurfaceFormatKHR 演示::pick_surface_format(const std::vector &surface_formats) { // 更喜欢...

回答 1 投票 0

在VS中写入SSBO并从FS中读取

使用Vulkan库 我有一个在顶点着色器中计算的 vec3[] 位置(由 TBN 矩阵转换的数百个全向光位置),我希望将其传递给片段着色器进行读取。 我...

回答 1 投票 0

计算着色器意外输出到缓冲区

我正在学习如何在 Vulkan 中使用计算着色器,所以我只是使用它作为着色器: #版本450核心 布局(std140,绑定= 0)只读缓冲区InputSSBO { int 输入缓冲区[256]; }; 拉...

回答 1 投票 0

pColorBlendState->pAttachments[0] 值超出范围/不是 VKBool32 错误的原因是什么

我是 Vulkan 新手,正在关注 YouTube 教程。很抱歉,如果这个问题实际上很愚蠢。当我尝试创建 vulkan 渲染管道时,收到以下验证错误。 瓦利...

回答 1 投票 0

WGSL 中的 Vulkan 专业化常量

我正在将着色器从 GLSL 转换为 WGSL。我对如何在 WGSL 着色器语言中定义 Vulkan 专业化常量有点困惑。 例如,在 GLSL 中,我可能会这样写: 布局(

回答 1 投票 0

在 std::queue 初始化时,它分配内存,然后抛出访问冲突读取位置[关闭]

问题描述 我的复杂代码可以简化如下: #包括 #包括 #包括 #包括 TestCl 类...

回答 1 投票 0

cpp 当 std::queue 初始化时,它分配内存,然后抛出访问冲突读取位置

问题描述 我的复杂代码可以简化如下: #包括 #包括 #包括 #包括 TestCl 类...

回答 1 投票 0

如何使用适用于 MacOS 的 Vulkan 将超过 80 个纹理绑定到管道?

寻找有关如何将 80 多个纹理绑定到 MacOS 上的 Vulkan 管道的说明。 总而言之: MacOS/MoltenVK 的限制是一次绑定 80 个独特的采样器。 组合图像采样器计数

回答 1 投票 0

通过工厂方法创建结构体的成员会失去价值

我希望我能够尽可能清楚地解释我的问题。我正在开发一个使用 Vulkan 的 Rust 应用程序。 我在创建图形管道时遇到了一些麻烦。我发现了问题,但我...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.