Wgpu is a Rust-based library that takes a similiar general API shape as Vulkan but is simplified. When I first tried to learn Vulkan I found the complication to be overwhelming (primarily because there are no defaults for ANYTHING) but once I learned wgpu it was substantially less so. It is still quite complicated though.
Wgpu is aiming to be almost as powerful as Vulkan, but it's not there yet because the features that are needed to do the modern techniques that make Vulkan really good (as compared to opengl) either aren't there yet or are so bug-ridden as to not be usable in practice yet.
It has some ability to run in a web browser, probably with JS, too, but I'm unfamiliar with the details there.
Vulkan 1.0 expects you to configure render passes ahead of time because that’s the best way to get optimal performance on all hw. This especially matters for tiling architectures on mobile. It’s supposed to be a low-level API after all. The engine devs wanted no hand-holding and that’s what they got.
Now they find that’s too hard for them after all so dynamic rendering it is..
RenderPasses can give some perf gain on mobile tiler hardware, but they don't really help on desktop hardware.
A lot of content is ported from other APIs, and retrofitting render passes to an existing engine is not easy.
I'm hoping that accessing tile memory from compute shaders (like Metal's tile shaders) comes to Vulkan soon. That, together with the new pipeline barriers, will give all the benefits of render passes on mobile, but gets rid of the verbose up front setup of RenderPass.
Wgpu is a Rust-based library that takes a similiar general API shape as Vulkan but is simplified. When I first tried to learn Vulkan I found the complication to be overwhelming (primarily because there are no defaults for ANYTHING) but once I learned wgpu it was substantially less so. It is still quite complicated though.
Wgpu is aiming to be almost as powerful as Vulkan, but it's not there yet because the features that are needed to do the modern techniques that make Vulkan really good (as compared to opengl) either aren't there yet or are so bug-ridden as to not be usable in practice yet.
It has some ability to run in a web browser, probably with JS, too, but I'm unfamiliar with the details there.