支持 Vulkan 的道路
这一天到来了--一个潜在的客户向我们询问关于将SilverLining和Triton与VulkanSceneGraph整合在一起的问题!现在是时候让我们认真对待支持Vulkan的道路了。
在短期内,我们想提醒用户,可以使用Vulkan的扩展,允许Vulkan和OpenGL之间的互操作性。例如,X-Plane 11.5就是这样整合我们的SkyMaxx Pro插件的;他们为我们暴露了一个真正的OpenGL上下文,并管理它和Vulkan环境之间的同步。这种方法为目前以OpenGL构建的系统提供了一种渐进式的迁移方法。然而,在VulkanSceneGraph中并没有内置支持这样做--对Vulkan/OpenGL互操作的驱动支持充其量也是不一致的。
然而,我们确实有先见之明,在不久前重构了SilverLining和Triton,使它们在时机成熟时更容易与Vulkan整合。我们遵循NVidia的 "OpenGL Like Vulkan "文件中的建议,以确保我们的底层架构与Vulkan的工作方式兼容。
所以,在这一点上,我可以宣布,为SilverLining实现本地Vulkan渲染器的努力已经开始了,其最终目标是为VulkanSceneGraph制作一个样本应用程序,该应用程序接收其vkInstance和vkDevice,并反馈我们自己的命令缓冲区,以绘制天空和云彩。现在说这可能需要多长时间还为时过早,或者说这是否可行--但我们非常确定这至少是可行的。我们的实现不会与VulkanSceneGraph捆绑在一起;如果你想与其他引擎集成,你将能够做到。但我猜测VSG是我们大多数客户感兴趣的。
当然,我们会继续支持我们的OpenGL和DirectX渲染器,但我们知道,正在构建新系统的客户会将目光投向Vulkan以获得最佳性能。毕竟,这是未来的发展方向。
敬请关注进一步的更新!