通常被跨平台游戏和其他软件用作抽象层的Simple DIRECTMEDIA库现在引入了Vulkan渲染器SDL3.
SDL3.0的开发工作仍很繁重。SDL已经可以处理构建在Vulkan API之上的游戏,但这一新的变化是为了在SDL本身中引入Vulkan渲染器,以便使用其API进行渲染。类似于Direct3D 12渲染器去年推出的SDL3Git现在有了Vulkan渲染器。
此SDL Vulkan渲染器由Dan Ginsburg编写,他以前在Valve工作,现在在Upsample Software工作。Ginsburg在SDL pull request中解释道:
“这个Pull请求向SDL添加了Vulkan渲染后端的实现。到目前为止,我主要在Windows上测试了这一点,但也在Linux和MacOS(MoltenVK)上进行了Smoke测试。我还没有在Android上尝试它,但它应该也可以在那里使用(消除了我错过的任何错误)。这开始是作为SDL Direct3D12渲染器的一个端口,这是在SDL代码库中存在的最接近Vulkan的东西。着色器或多或少是相同的(唯一的区别是描述符绑定与根描述符不同)。着色器是使用俚语的HLSL前端构建的。
代码中的所有内容都是纯Vulkan1.0(没有扩展),除了HDR支持,它需要Vulkan实例扩展vk_ext_swapchain_Colorspace。如果我使用动态呈现、推送描述符、扩展动态状态和其他现代Vulkan主义,代码本可以得到相当大的简化,但我觉得更重要的是使代码尽可能地普通Vulkan,这样它就可以在任何Vulkan实现上运行。
对于感兴趣的人,请访问本SDL PR.