OpenGL Vulkan互操作性

OpenGL Vulkan互操作性,opengl,interop,vulkan,Opengl,Interop,Vulkan,我需要一些关于OpenGL Vulkan内存交换的帮助。 我已经找到了这个话题 但这并不是我所需要的。我不希望Vulkan分配和导出内存。我想将OpenGL内存导入Vulkan,创建Vulkan图像并将其绑定到导入的内存 我的问题是,是否真的有可能获得可以与vk::ImportMemoryWin32HandleInfo一起使用的“句柄”(在WinOS方面)。据我所知,目前还没有OpenGL扩展,它允许这样做。这也是有意义的,因为OpenGL分配对象的内存语义非常模糊,而且数据实际上可能到处都是。

我需要一些关于OpenGL Vulkan内存交换的帮助。 我已经找到了这个话题 但这并不是我所需要的。我不希望Vulkan分配和导出内存。我想将OpenGL内存导入Vulkan,创建Vulkan图像并将其绑定到导入的内存


我的问题是,是否真的有可能获得可以与vk::ImportMemoryWin32HandleInfo一起使用的“句柄”(在WinOS方面)。

据我所知,目前还没有OpenGL扩展,它允许这样做。这也是有意义的,因为OpenGL分配对象的内存语义非常模糊,而且数据实际上可能到处都是。当你在OpenGL中创建一个纹理、缓冲区等时,它是完全开放的,何时、如何以及在何处最终分配内存

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

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