繁体   English   中英

OpenGL Vulkan互操作性

[英]OpenGL Vulkan Interoperability

我需要一些OpenGL-Vulkan Memory Exchange的帮助。 我已经找到了这个主题如何从Vulkan渲染到OpenGL? 但这不是我需要的。 我不希望Vulkan分配和导出内存。 我想将OpenGL内存导入Vulkan,创建Vulkan Image并将其绑定到导入的内存。

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

据我所知,还没有OpenGL扩展,这将允许这样做。 它也是有道理的,因为OpenGL分配对象的内存语义非常模糊,数据实际上可能遍布整个地方。 当你在OpenGL中创建一个纹理,缓冲区等时,它是完全开放的,最终会分配内存的时间,方式和位置。

这在Vulkan中是非常不同的,其中内存管理是明确的,并且一旦创建,您就拥有关于它的“完美”知识。 这就是为什么可以简单地将该内存“导入”OpenGL对象; 就OpenGL驱动程序而言,它只是另一种获取内存的方式,只是这种方式不需要关注脏细节。

最后,如果使用Vulkan或OpenGL分配内存,则不会产生实际差异。 只需使用Vulkan进行分配,然后导入OpenGL。 您仍然可以从OpenGL写入内存,也可以将其用作帧缓冲附件的渲染缓冲区或纹理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM