1. 5
  1.  

  2. 4

    Using a shared standard, like opengl, is impossible. We need a shared standard, like our proprietary shader language.

    -.- Don’t get me wrong, I’m sure it’s great.

    1. 2

      the standard has evolved to WebGL 2 and, again, all major browser engines, including WebKit, are committed to supporting it.

      WebGL is not going away.

      In order to expose a modern, low-level technology that can accelerate graphics and computation, we need to design an API that can be implemented on top of many systems, including those mentioned above. With a broader landscape of graphics technologies, following one specific API like OpenGL is no longer possible.

      Reads to me more like: squeezing top performance out of modern hardware is not possible by just following one API. Ergo we need a language on a higher level that can be implemented in OpenGL, DirectX, Vulkan, etc.

      1. 2

        I think the post is clear that use of Metal Shading Language in this prototype is a placeholder. You need to pick something for a prototype, so Apple picked Metal Shading Language. I don’t see anything wrong here.

      2. 3

        WebGL is based on OpenGL, any reason why “WebGPU” can’t be based on Vulkan?

        Also: WebGL was specified by Khronos Group, right? As were WebCL, OpenGL, OpenCL, Vulkan etc? And Apple is a member of Khronos Group? Then why is this suddenly an initiative within W3C rather than yet another Khronos Group spec?

        For someone who doesn’t have a lot of insight into these API:s and specs it sure looks like WebKit/Apple is trying to avoid a WebVulkan so that they can inject some of their Metal into it.

        If so, then the end result will be that there’s four different low-level graphics API:s? Metal, Vulkan, DirectX 12 and WebVulkan. Isn’t that a few API:s more than needed? And won’t that be a portability nightmare?

        1. 3

          WebGL is based on OpenGL, any reason why WebGPU can’t be based on Vulkan?

          Yes there are reasons. Thoughts about a WebGL-Next explains why it can’t be WebVulkan.