鉴于现代 Vulkan 应用程序接口的持续广泛采用,新的 OpenGL 扩展(尤其是令人兴奋的扩展)在近来非常罕见,但在 2025 年,我们将通过 GL_EXT_mesh_shader 实现为 OpenGL 增加一个有趣的跨供应商网格着色器。
简单地说,网格着色器就是能够独立输出三角形的计算着色器。Vulkan 提供跨厂商网格着色功能已有三年时间,而早在几年前,英伟达就率先在图灵 GPU 中引入了网格着色的硬件功能,并为网格着色提供了自己的 OpenGL 和 Vulkan 扩展。
GL_NV_mesh_shader 扩展作为英伟达供应商的网格着色器前缀扩展继续存在,现在 AMD 和 Mesa 开发人员提出了 GL_EXT_mesh_shader 扩展作为跨供应商扩展。
所提议的 GL_EXT_mesh_shader 扩展受到 NVIDIA GL_NV_mesh_shader 以及 Vulkan 的 VK_EXT_mesh_shader 的启发,但比以 NVIDIA 为中心的实现更加跨供应商友好:
“此扩展提供了一种新机制,允许应用程序使用两种新的可编程着色器类型——任务和网格着色器——来生成几何图元集合,以供固定功能图元组装和光栅化逻辑处理。绘制任务和网格着色器时,它们将取代标准的可编程顶点处理管道,包括顶点数组属性获取、顶点着色器处理、镶嵌和几何着色器处理。”
AMD 的 Qiang Yu本周 发起了此 OpenGL Registry 拉取请求,
以引入 GL_EXT_mesh_shader 扩展。此 OpenGL 网格着色支持是由 Nvidium 的 Minecraft 项目请求的,该项目使用 NVIDIA 独有的 OpenGL 扩展来“显著提高 FPS”,这得益于 NVIDIA 网格着色器等性能特性。反过来,早在几个月前,AMD 驱动程序就已请求支持 OpenGL 网格着色器。此问题最近也在 Mesa 中进行了讨论。
除了实现此提议的 OpenGL 扩展的 RadeonSI 驱动程序之外,人们还希望看到 Zink OpenGL-on-Vulkan 驱动程序也支持 GL_EXT_mesh_shader。Valve 的 Mike Blumenkrantz 也在该 OpenGL 拉取请求中评论道:
“我希望在发布之前至少能看到 mesa 的实施进展顺利,但我认为这对生态系统来说是一个很好的补充。为 GL 网格着色提供跨供应商支持将使 nvidium 等产品最终能够在更多平台上运行。”
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/55140.html