返回

文章详情

学习 C++ 的 WebGPU

Hacker News2026年7月23日 14:55

对于 C++ 的原生图形。本文档引导您使用 WebGPU 图形 API 从零开始创建 Windows、Linux 和 macOS 的原生 3D 应用程序。快速入门!(点击我)你想了解你编写的每一行 GPU 代码吗?是的,从头开始编写 WebGPU 代码!那太好了!您可以简单地继续介绍部分,并顺序阅读所有章节。不,我宁愿跳过初始的样板代码。这完全有道理,您可以随时返回基本步骤。您可能想在每个页面的开头和结尾查看结果代码链接,例如:您愿意使用浅层包装以便于阅读吗?是的,我更喜欢 C++ 风格的代码。使用“带有 webgpu.hpp”选项卡。不,我想看原始 C WebGPU API!使用“原生 webgpu.h”选项卡。原生 WebGPU 的结果代码更新较少,但此选项卡也会切换指南中的所有代码块,并且这些是最新的。要构建此基本代码,请参阅项目设置章节中的构建部分。您可以在 cmake -B build 行中添加 -DWEBGPU_BACKEND=WGPU(默认)或 -DWEBGPU_BACKEND=DAWN,以分别选择 wgpu-native 或 Dawn 作为后端。您希望基本代码达到什么程度?带有基本交互的 3D 网格查看器,我建议从照明控制章节的结尾开始。我还希望它在 Web 上运行。指南的主体缺少几行额外的内容,请参考“为 Web 构建”附录以调整示例,以便它们可以在 Web 上运行!🚧 仍在进行中 此指南仍在 construction 中,WebGPU 标准仍在发展。为了帮助读者跟踪其更新程度,我们在章节标题中使用以下标志:🟢 最新!使用最新稳定版本的 WebGPU 发行版,即 v0.2.0。🟡 可以阅读但使用旧版 WebGPU。🟠 进行中:足够可读,但不完整。🔴 待办事项:我们只是触及了表面。要预览此指南的未来版本,您可以查看隐藏的下一个部分,但它并不意味着是稳定的。注意:使用章节的附带代码时,请确保使用它提供的 webgpu/ 的确切版本,以避免差异。内容 ¶ 介绍 入门 项目设置 🟢 Hello WebGPU 🟢 适配器和设备 适配器 🟢 设备 🟢 命令队列 🟢 打开窗口 🟢 第一个颜色 🟢 C++ 包装 🟢 基本 3D 渲染 Hello Triangle 🟢 输入几何体 玩弄缓冲区 🟢 第一个顶点属性 🟢 多个属性 🟢 索引缓冲区 🟢 从文件加载 🟢 着色器 Uniforms 第一个 uniform 🟢 更多 uniforms 🟢 动态 uniforms 🟡 3D 网格 一个简单的示例 🟡 深度缓冲区 🟡 变换矩阵 🟡 投影矩阵 🟡 基本着色 🟡 从文件加载 🟡 纹理处理 第一个纹理 🟡 纹理映射 🟡 采样器 🟡 从文件加载 🟡 一些互动 重构 🟡 调整窗口大小 🟡 相机控制 🟡 简单 GUI 🟡 照明控制 🟡🟢 照明和材料 高光 🟡 法线映射 🟡 基于图像的照明 ( 🟠 WIP) 立方体贴图 ( 🟠 WIP) 基于物理的材料 ( 🟠 WIP) 基本计算 计算管道 🟡 图像处理 Mipmap 生成 🟡 卷积滤波器 🟡 立方体贴图转换 ( 🟠 WIP) 立方体贴图预过滤 ( 🟠 WIP) 程序生成几何体变形 ( 🟠 WIP) 神经网络 ( 🔴 待办事项) 高级技术 实例化绘图 ( 🔴 待办事项) RAII 🟡 屏幕捕获 ( 🟠 WIP) 无头上下文 🟡 高动态范围纹理 ( 🟠 WIP) 基准测试 时间 🟡 内存 ( 🔴 待办事项) 处理单元 ( 🔴 待办事项) 环境影响 ( 🔴 待办事项) 延迟着色 ( 🔴 待办事项) 渲染束 ( 🔴 待办事项) 多重采样 ( 🔴 待办事项) 场景树 ( 🔴 待办事项) 阴影贴图 ( 🔴 待办事项) 裂分 ( 🔴 待办事项) 光线追踪 ( 🔴 待办事项) 附录 2023 年教授原生图形 🟢 记住低端设备 🟢 需要反馈 🟢 为 Web 构建 🟡 使用 SDL 进行窗口管理 🟡 自定义扩展 扩展机制 ( 🟠 WIP) 使用 wgpu-native ( 🟠 WIP) 使用 Dawn ( 🟠 WIP) 调试 ( 🟠 WIP) 内存模型 ( 🔴 待办事项) 参考 ( 🟠 WIP) 临时页面

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡