gpt4 book ai didi

OpenGL Vulkan 互操作性

转载 作者:行者123 更新时间:2023-12-01 01:42:38 25 4
gpt4 key购买 nike

我需要一些关于 OpenGL-Vulkan 内存交换的帮助。
我已经找到了这个话题
How to render to OpenGL from Vulkan?
但这不是我所需要的。我不希望 Vulkan 分配和导出内存。我想将 OpenGL 内存导入 Vulkan,创建 Vulkan Image 并将其绑定(bind)到导入的内存。

我的问题是,实际上是否有可能获得可与 vk::ImportMemoryWin32HandleInfoKHR 一起使用的“HANDLE”(就 WinOS 而言)。

最佳答案

据我所知,目前还没有允许这样做的 OpenGL 扩展。这也有点道理,因为 OpenGL 分配对象的内存语义非常模糊,而且数据实际上可能到处都是。当您在 OpenGL 中创建纹理、缓冲区等时,它是完全开放的,最终分配内存的时间、方式和位置。

这在 Vulkan 中非常不同,内存管理是显式的,一旦创建,您就拥有“完美”的知识。也就是说,为什么可以简单地将内存“导入”到 OpenGL 对象中;就 OpenGL 驱动程序而言,它只是获取内存的另一种方式,只是这种方式不必担心脏细节。

最后,如果您使用 Vulkan 或 OpenGL 分配内存,它并没有实际的区别。只需使用 Vulkan 分配,然后导入 OpenGL。您仍然可以从 OpenGL 写入内存,即也可以将其用作渲染缓冲区或帧缓冲区附件的纹理。

关于OpenGL Vulkan 互操作性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54801580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com