跨平台游戏和其他软件常用的简单直接媒体库(Simple DirectMedia Library)作为一个抽象层,现在通过 SDL3 引入了 Vulkan 渲染器。
SDL 3.0 的开发工作仍在紧张进行。SDL 已经可以与构建在 Vulkan API 上的游戏协同工作,但这一新变化是要在 SDL 本身中引入 Vulkan 渲染器,以便使用其 API 进行渲染。与去年推出的 Direct3D 12 渲染器类似,SDL3 Git 现在也有了 Vulkan 渲染器。

这个 SDL Vulkan 渲染器由 Dan Ginsburg 编写,他在 Valve 及其 Upsample Software 咨询公司工作。Ginsburg 在 SDL 拉取请求中解释道:
“此请求为 SDL 添加了 Vulkan 渲染后端的实现。到目前为止,我主要在 Windows 上进行了测试,但也在 Linux 和 macOS(MoltenVK)上进行了烟雾测试。我还没有在 Android 上进行过测试,但应该也可以在 Android 上使用(不包括我遗漏的任何 bug)。它最初是 SDL Direct3D12 渲染器的一个移植版本,是 SDL 代码库中最接近 Vulkan 的版本。着色器大致相同(唯一的区别在于描述符绑定与根描述符)。着色器使用 glslang 的 HLSL 前端构建。
代码中的所有内容都是纯 Vulkan 1.0(无扩展),但 HDR 支持除外,它需要 Vulkan 实例扩展 VK_EXT_swapchain_colorspace。如果我使用了动态渲染、推送描述符、扩展动态状态和其他现代 Vulkan 机制,代码本可以大大简化,但我觉得更重要的是让代码尽可能纯粹地使用 Vulkan,这样它就可以在任何 Vulkan 实现上运行了”。
感兴趣的人可以通过此 SDL PR 了解更多详细信息。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/43653.html