webgpu demo
All checks were successful
Deploy / build-deploy (push) Successful in 1m38s

This commit is contained in:
Jorijn van der Graaf 2026-07-19 01:13:30 +02:00
commit fb2f6079cc
16 changed files with 508 additions and 9 deletions

View file

@ -46,17 +46,19 @@ extern "C" Configuration CrafterBuildProject(std::span<const std::string_view> a
ApplyStandardArgs(cfg, args);
cfg.dependencies = { graphics };
std::array<fs::path, 4> ifaces = {
std::array<fs::path, 5> ifaces = {
"interfaces/Catcrafts",
"interfaces/Catcrafts-Views",
"interfaces/Catcrafts-Blog",
"interfaces/Catcrafts-Root",
"interfaces/Catcrafts-Demo",
};
std::array<fs::path, 4> impls = {
std::array<fs::path, 5> impls = {
"implementations/main",
"implementations/Catcrafts-Blog",
"implementations/Catcrafts-Root",
"implementations/Catcrafts-Views",
"implementations/Catcrafts-Demo",
};
cfg.GetInterfacesAndImplementations(ifaces, impls);
@ -64,6 +66,12 @@ extern "C" Configuration CrafterBuildProject(std::span<const std::string_view> a
cfg.files.emplace_back(fs::path("robots.txt"));
cfg.files.emplace_back(fs::path("sitemap.xml"));
cfg.files.emplace_back(fs::path("favicon.svg"));
// WGSL for the ray-traced WebGPU demo embedded in the blog (see
// interfaces/Catcrafts-Demo.cppm). Fetched at runtime by WebGPUShader.
cfg.files.emplace_back(fs::path("shaders/raygen.wgsl"));
cfg.files.emplace_back(fs::path("shaders/miss.wgsl"));
cfg.files.emplace_back(fs::path("shaders/closesthit.wgsl"));
cfg.files.emplace_back(fs::path("shaders/resolve.wgsl"));
// Loaded as a <script type="module"> before runtime.js by
// EnableWasiBrowserRuntime — sets <title>/<link> tags since the
// Dom partition has no head-element access.