WebGPU demos
webkit.org
webkit.org
I'm not an expert in this area, but isn't it a bad idea to introduce another standard if there's already WebGL with great cross-browser and -platform support? It reminds me of what people have been raging about towards Microsoft for years...
The WebGL programming model has a lot of shortcoming from a modern point of view, see here: http://floooh.github.io/2016/08/13/webgl-next.html (you can mostly ignore my criticism of adopting Vulkan for the web, the Mozilla proposal (called Obsidian) is pretty close to Vulkan, and doesn't look as bad as I feared when I wrote that blog post).
So, Vulkan? This is literally what Vulkan exists for, and does – a shading language and API implemented by all vendors.
Vulkan being a universal 3D API is a myth - it only exists on Windows (as a second class citizen), Linux, Android, and the Nintendo Switch.
This isn’t an issue – there’s more people using Firefox, or even more unusual browsers, which can’t use half the web, than there are people using Apple devices.
Highly unlikely.
Google frequently releases major products without Firefox support, with this only being added months or years later.
This is reality today.
Besides, market share of iOS in Germany is ~32% [1], and Firefox ~17% [2], according to stat counter.
And even those numbers are lower/higher(respectively) than those of countries like USA, UK, Australia, Japan etc...
[1] http://gs.statcounter.com/os-market-share/mobile/germany
[2] http://gs.statcounter.com/browser-market-share/all/germany
I mentioned a 43% desktop ussge for Firefox.
UWP only allows for DirectX.
And it is an optional 3D API on Android, starting with version 7.0. Which makes it pretty useless when targeting the majority of Android market, given the whole upgrade story.
[1] https://www.khronos.org/blog/khronos-announces-the-vulkan-po...
Edit: Source: Hacker News comment a while ago by a person who talked to the team at WWDC
>acoye: I see a couple of issues with the Mac / TF OpenCL situation. Apple is pushing metal and performance shaders, I would not bet on strong support from them keeping up to date drivers with performant ocl. I asked at wwdc17 about vulkan and they clearly do not want it on their platform.
This isn't to say Vulkan is bad, everyone seems to be saying "In Vulkan, You really needs to know what you are doing".
All major graphics middleware and image manipulation applications, are already Metal aware.
Same goes to the other direction (mapping from Obsidian/WebVulkan to Metal), with a caveat that Vulkan requires more state to be communicated, so it's easier to ignore some of the user input (if it doesn't make sense on Metal) than to figure out the missing bits.
At least from an outsider's perspective, the only active proposal for a WebGL successor seems to be Googles NXT: https://github.com/google/nxt-standalone
https://docs.google.com/presentation/d/1l1rTCtKHowIEhwzA4l1u...
(besides, building a new API on top of OpenCL would be questionable given that OpenCL is all but dead at this point)
[1] Look for RGBA32F in the WebGL 2 and corresponding OpenGL ES 3.0 specs. Also documented on MDN's coverage of OES_texture_float.
"We expect the discussions around the shading language to be one of the most fun parts of the standardization process, and look forward to hearing community opinions.
For our WebGPU prototype, we decided to defer the issue and just accept an existing language for now. Since we were building on Apple platforms we picked the Metal Shading Language."
Apple had their own 3D API in the old days, Quickdraw 3D.
They only played nice with OpenGL, because of NeXT acquisition, NeXTSTEP had Renderman and OpenGL, and they needed to bring developers into their eco-system to avoid closing doors.
Now the bank is full and with graphics middleware, a 3D API is just another interface implementation for the scene graph rendering calls, that are actually used.
Metal is already supported by the majority of engines that matter in the industry, with Qt in the process of adopting configurable backends as well.
If WebGPU really does perform better in an apples-to-apples comparison (i.e. running the same shader) then there's something seriously wrong with Apples WebGL implementation.
edit: here's that example translated verbatim to WebGL if you want to compare: https://www.shadertoy.com/view/Mt2fRy
So the exact equivalent in WebGL is noticeably harder on the system than the WebGPU version.
Most of the WebGL demos that get posted around here, always have issues running on my mid-range devices, that don't have any issues playing my collection of 3D games.
So I still look forward to a 3D Web API that can actually compete with native 3D across all mobile devices, not only on flagship ones.
Or proper implementations of WebGL, if that is actually the issue.
https://news.ycombinator.com/item?id=16086537
I suspect that Three.js is the main reason why so many WebGL demos are slow, rather than WebGL itself.
Might be, but what counts is the perception when someone goes to a given web page.
EDIT: Just tried your shader toy example on an LG Power X, with a Mali T720, it averages on 20FPS.
https://lists.w3.org/Archives/Public/public-gpu/2017Sep/0015...