Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is great to see. I’ve been working on a WebGPU project for a couple months now, learning as I go, and it’s rough how many things there are that take tons of digging to find even remotely straight answers about. There’s the basic WGSL language and JS API, which are, strictly speaking, well documented, and then there’s the stuff where you have to skip past documentation and find the one post answering a tangentially related question by someone with a singleminded interest in GPU programming.


My biggest problem with WebGPU is the documentation, especially if you delve into the native or emscripten variants. Not even fancy AI tools will save you - in fact in a lot of cases they make it worse as they often suggest solutions based on older webgpu variants or they make grossly inaccurate assumptions about how your particular webgpu implementation works. Figuring out how to properly setup the "native" version was a nightmare, I had to find a random github project where someone thankfully made a SDL2 example. I didn't really feel there was an active community that was interested in pointing me in the right direction either, more like a bunch of people too absorbed with building an API than actually caring about who is using it. Maybe things will improve in the future but I remain skeptical.


That is to be expected, it is rigth there in the name, Web.

The problem is that people are reaching out to it, as means to avoid the Vulkan mess, when the real alternative is middleware engines.


There's plenty of room for both approaches: a lot of projects can benefit from using a platform-agnostic API like WebGPU (web or native) directly, others might want to use engines. Anecdotally I use WebGPU (through wgpu) in a commercial application for a visualization, and would've never bothered to apply Vulkan or DX12 for that otherwise.

Documentation will keep improving with time. There have already been a number of high-quality tutorials and references created over the past few years, for example:

https://webgpufundamentals.org/ for JavaScript/the web API

https://sotrh.github.io/learn-wgpu/ for Rust (web or native)

https://eliemichel.github.io/LearnWebGPU/ for C++


>when the real alternative is middleware engines.

Is there even a good Middleware engine that can also target web? My impressions are that both Unity and Unreal expressed interest in WebGPU support, but what's publicly available is pretty barebones.

Also, I imagine the people working with WebGPU to begin with are either hobbyists, looking to learn and work in a professional role with WebGPU, or are in fact making that future Middleware (be it proprietary or open source).


Yeah, but the whole point is people using WebGPU as if it was a native API, outside of the browser.


I thought vulkan was getting better? I'm mostly interested from a platform agnostic compute perspective, and I've used some libraries that employed wgsl for that. I'd added it to the backlog of stuff to learn but lately it seemed like vulkan might be a better approach.


The extensions story isn't getting better than OpenGL,

https://vulkan.gpuinfo.org/listextensions.php

Additionally, setting up the infrastructure, even with Vulkan 1.3, is a bit piece of code.


This has been the state of the Web3D since WebGL 1.0, worse that after 10 years, browser vendors still don't see a need to have proper debugging in place.


Yes, and not to mention automated testing. Apparently, deno has headless WebGPU support, which I might look into. Right now, I have this hacky build mode in my project which launches my Electron app, and sends IPC messages to launch tests (using my own, terrible minimal test framework), and then send the results back to the terminal.

On the plus side, it makes me appreciate how wonderful it is to have modern dev tooling when I’m working on literally anything else.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: