【WebGPU Unleashed】序言

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加VX:digital_twin123

这本书将教你使用 WebGPU 在 JavaScript 中进行图形编程。对于想学习图形编程的来说,几年前,OpenGL 是初学者的首选 API,而 DirectX 则是那些对游戏开发感兴趣的人的替代选择。

然而,图形 API 格局近年来发生了显着变化。新一代 API 已经出现,包括 Vulkan、Metal 和 DirectX 12。这些 API 更加轻量级和高性能,但需要更详细的代码。虽然概念相似,但它们比 OpenGL 更加分散,其中一些仅在特定平台上可用。这种碎片化常常让初学者感到困惑,让他们不确定从哪个 API 开始。

WebGPU 是一种新的图形 API,概念上与其他 API 类似,但目标不同:它的目标是将本机的图形能力引入到Web上。与图形驱动程序中本地实现的其他 API 不同,WebGPU 本质上是上述 API 的包装器。这使得 WebGPU 作为入门的第一个 API 具有吸引力,原因如下:

  1. 作为一个包装器,WebGPU 的目标是成为其他 API 的共同接口,使其相对简单。
  2. 作为 Web 图形 API 标准,WebGPU 可在所有平台上使用。
  3. 对于那些对本地开发感兴趣的人,可以使用 C 和 Rust 实现 WebGPU。

随着 WebGPU 的最新发布,现在是学习它的理想时机。

我们将从 GPU 驱动程序和 GPU 管道的概述开始 - 这些主题在其他图形 API 书籍中经常被忽视。许多能够实现简单图形应用程序的学生缺乏对 GPU 驱动程序以及图形软件如何与底层硬件交互的了解。我认为涵盖这些主题是至关重要的。

在此概述之后,我们将探索 WebGPU 最简单的用法:绘制三角形,这是 3D 图形的基本元素。虽然这听起来很基础,但掌握它对于理解更复杂的概念至关重要。然后我们将介绍 2D 渲染技术和 3D 场景控制,这是实现完整的 Web 图形应用程序的必要技能。

在高级章节中,我们将研究使用 WebGPU 的 GPU 计算,并探索简单三角形之外的高级渲染技术。Web上的 GPU 计算以前无法通过 WebGL 实现,现在可以通过 WebGPU 实现。这开启了令人兴奋的可能性,包括用于 Web 应用程序的潜在 GPU AI 推理。

作为本书的最后一个教程,我们将实现高斯泼溅渲染 - 一个结合 GPU 计算和渲染的复杂示例。在撰写本文时,高斯泼溅是一种尖端的场景表示和渲染技术,能够捕获和渲染现实生活中的 3D 场景,具有高度的真实感和实时性能。

猜你喜欢

转载自blog.csdn.net/u013929284/article/details/141561079