Learn WebGPU

用于C++中的原生图形开发。

本文档将指导您使用WebGPU图形API创建适用于Windows、Linux和macOS的原生3D应用程序

快速开始!(点击此处)

您想了解您编写的所有GPU代码吗?

是的,从零开始WebGPU!

非常好!您可以直接前往概述,并依次阅读所有章节

不,我希望跳过初始的样板代码

没问题,您随时都可以返回基本步骤

您可能会想看看每页头尾的Resulting code链接,例如:

../_images/resulting-code-light.png ../_images/resulting-code-dark.png

您是否愿意使用浅度的封装以便于阅读?

是的,我更喜欢C++风格的代码。

请使用“With webgpu.hpp”选项卡。

不,我要看原始的C风格API

请使用“Vanilla webgpu.h”选项卡。vanilla WebGPU中的Resulting code不一定是最新的,但这个选项卡中的所有代码块都会是最新的。

这个基础代码,请参阅项目搭建章节的构建部分。您可以在cmake -B build后面添加-DWEBGPU_BACKEND=WGPU(默认)或-DWEBGPU_BACKEND=DAWN以选择使用wgpu-nativeDawn作为后端.

您希望基础代码进展到什么程度?

一个简单的三角形

请查看你好,三角形!章节。

一个具有基本交互功能的3D网格查看器

我建议从照明控制章节的末尾开始。

我希望它们能在Web上运行

本文档的主体部分漏掉了几行额外的内容,请参阅Web构建附录来调整示例,以便它们在Web上运行!

🚧 施工中

文档仍在构建WebGPU标准亦在不断发展。为帮助读者跟踪本文档的最新进展,我们在各章标题中使用了如下标识:

🟢 最新版使用最新版本的WebGPU分发
🟡 已完成已完成,但用的是旧版WebGPU
🟠 施工中足够可读,但不完整
🔴 待施工只触及了表面

请注意:当使用章节的伴随代码时,请确保使用的是与webgpu/相同的版本,以避免差异。

目录