Вчимо WebGPU¶
Для нативної графіки на C++.
Ця документація допоможе вам освоїти WebGPU графічний API, щоб створювати нативні 3D додатки на C++ з нуля, для Windows, Linux і macOS.
Швидкий Старт! (Натисни на Мене)
Чи хочете ви зрозуміти кожну частинку GPU коду, який ви пишете?
Так, писати WebGPU код з нуля!
Чудово! Ви можете просто перейти до вступу і прочитати всі розділи послідовно.
Ні, я краще пропущу початковий шаблонний код.
Це цілком логічно, ви можете завжди повернутися до початкових кроків пізніше.
Ви, ймовірно, захочете переглянути посилання Кінцевий код на початку та в кінці кожної сторінки, наприклад:
Ви згодні використовувати тонку обгортку для зручнішого читання?
Так, я віддаю перевагу C++ коду.
Зайдіть на “З webgpu.hpp” вкладку.
Ні, покажіть мені сирий C WebGPU API!
Зайдіть на “Ванільний webgpu.h” вкладку. Кінцевий код для ванільного WebGPU є менш актуальним, але ця вкладка також перемикає всі блоки коду всередині посібника, і вони є актуальними.
Для того, щоб зробити збірку цього базового коду, зверніться до Збірка секції розділу про налаштування проєкту. Ви можете додати -DWEBGPU_BACKEND=WGPU (стандарт) або -DWEBGPU_BACKEND=DAWN до cmake -B build команди, щоб обрати як бекенд wgpu-native або Dawn відповідно.
Наскільки далеко ви хочете просунутися з базовим кодом?
Простий трикутник
Перегляньте розділ Привіт трикутник.
3D-сітка з базовою взаємодією
Я рекомендую починати з кінця розділу Управління освітленням.
Я хочу, щоб все так само запускалося в Інтернеті.
В основній частині посібника бракує декількох додаткових рядків, зверніться до Збірка для Інтернету додатку, щоб адаптувати приклади та, щоб вони запускались в Інтернеті!
🚧 Робота в процесі
Цей посібник досі в розробці, і стандарт WebGPU досі еволюціонує. Щоб допомогти читачу зрозуміти, наскільки актуальна інформація, ми використовуємо ці знаки в заголовках до кожного розділу:
🟢 Актуальна! Використовує останню стабільну версію WebGPU-distribution, а саме v0.2.0.
🟡 Готове до читання але використовує старішу версію WebGPU.
🟠 Робота в процесі: достатньо читабельно, але не закінчено.
🔴 Треба зробити: ми тільки торкнулися поверхні.
Для попереднього огляду майбутньої версії цього посібника, ви можете глянути в сховану секцію Наступне, але це не означає, що вона стабільна.
Примітка: При використанні супровідного коду з розділу, обов’язково використовуйте саме ту версію webgpu/ яку вона надає, щоб уникнути розбіжностей.