Does it directly, internally, support Vulkan instead of on-the-fly translation from WebGPU to VK?
Does it directly, internally, support Vulkan instead of on-the-fly translation from WebGPU to VK?
The main purpose of WebGPU is to specify a 3D API over the common subset of Metal/D3D12/Vulkan features (e.g. doing an 'on-the-fly translation' of WebGPU API calls to Metal/D3D12/Vulkan API calls, very similar to how (a part of) Proton does an on-the-fly translation of the various D3D API versions to Vulkan.
Unless we are talking about cool shadertoy examples.
Streaming solves the business case, with native APIs using server side rendering.
> Streaming solves the business case, with native APIs using server side rendering.
And yet history is littered with the dead husks of game streaming services ;)
Game Pass, GeForce Now, are doing alright.
Stadia failed, because Google doesn't get games industry.
Shadertoy is full of impressive demos.
OP claimed WGPU had native support for VK, DX and others. But as far as I know, WGPU just supports WebGPU being translated on the fly to those other backends, with the obvious performance hit. If I'm wrong, I'd be interested to know, as this would make WGPU a more interesting choice for many if, in reality, the code was native instead of translation.
Edit: https://docs.rs/wgpu/latest/wgpu/#backends it seems they indeed support native code in almost every backend?
Those three WebGPU implementation libraries are compiled to native code (they are written in Rust or C/C++), and at least WGPU and Dawn are usable as native libraries outside the browser in regular native apps that want to use WebGPU as a cross-platform 3D API.
Yet still, those native libraries do a runtime translation of WebGPU API calls to DX/Vk/Metal API calls (and also a runtime translation of either WGSL or SPIRV to the respective 3D backend API shading languages) - in that sense, quite similar to what Proton does, just for a different 'frontend API'.