Live data from Hacker News

Apple proposes new web 3D graphics API

webkit.org

101–110 of 650 posts

Re: Apple proposes new web 3D graphics API

#101
I don't agree with this. The web does not need a 3D rendering API. If you think "web apps" are an appropriate thing, then perhaps it makes sense. Ignoring that, the web to me is still a way to view content and as such I can see a use for having navigable 3D scenes, environments, or content, but the rendering would be left to the browser much the way rendering HTML is left to the browser. I really don't like the amount of code running in my browser and see no need to add more.

Re: Apple proposes new web 3D graphics API

#102
post #31

Earlier quoted context omitted.

Our proposal is a little higher-level than Vulkan but it's the same basic idea.

So if it higher level than Vulkan where does it fit in with WebGL? I mean can't you pretty much already use low level GPU tech like Vertex Buffers and Shaders already?

If you draw a 2-dimensional chart of low-levelness vs performance, Vulkan, DirectX12 and Metal are all higher performance and lower-level than OpenGL. Metal is a bit higher level than the others and Vulkan is probably the lowest level, but they are about the same performance. WebGPU is a bit closer to the Metal level than the Vulkan level, but it's still lower-level and higher-performance.

Re: Apple proposes new web 3D graphics API

#103
post #10

Will it be patent encumbered, like Apple's "proposal" for touch events API? > Meanwhile, GPU technology has improved and new software APIs have been created to better reflect the designs of modern GPUs. These new APIs exist at a lower level of abstraction and, due to their reduced overhead, generally offer better performance than OpenGL. The major platform technologies in this space are Direct3D 12 from Microsoft, Me…

[deleted]

Re: Apple proposes new web 3D graphics API

#104
post #82
post #73

Earlier quoted context omitted.

I don't get what you are suggesting. Apple supporting Vulkan on macOS and iOS wouldn't do anything to expose a new GPU API to the web. They are totally orthogonal. We're expecting work on the new web API to be super collaborative, so your framing is uncharitable and incorrect.

Why come up with a new API for this? Why not use the one supported by Google, and MS, Vulkan? We dont need another (a fourth!) API for the same thing. Introduce a web variant like Khronos with with WebGL (its almost like OpenGL ES, which is almost like OpenGL).

> Why not use the one supported by Google, and MS, Vulkan?

https://www.lunarg.com/faqs/microsoft-support-vulkan/

"Microsoft has not expressed intent to support Vulkan."

Re: Apple proposes new web 3D graphics API

#105
post #79

Earlier quoted context omitted.

> I understand your desire to have Vulkan on Apple platforms, but it's really a separate issue from the right target for WebGPU. No, it's not a separate issue. If Apple supported Vulcan, the simple act of proposing this new API as a standard would be laughed out of the room. We can only speculate why Apple won't support Vulcan but I'm going to go with "Prefer a solution they designed themselves over one designed by o…

I think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done. In addition, even on platforms where there are unofficial Vulkan drivers (such as Windows), it's likely the natively available API will still have more complete support and better performance. So either way, we need a cross-platform graphics API. Let's focus this discussion on impro…

I think what you are going to find is that there is a lot of frustration w.r.t. Apple not supporting Vulkan. One system for everything else and one system for Apple.

> I think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done.

Nothing you assert here is invalid. But, I think you've missed the main point, which is that people don't want an entirely new API, they want the same API across all platforms. Vulkan, exposed directly in JavaScript as much as is feasible (e.g. using an automatic API generation tool) would be awesome.

Simply look at how it is possible to cross-compile C/C++ to JavaScript. Now, add in support the Vulkan API. That would be incredible.

> In addition, even on platforms where there are unofficial Vulkan drivers (such as Windows), it's likely the natively available API will still have more complete support and better performance.

Actually that's not correct. Vulkan was explicitly designed to be an efficient and high-performance API. As it stands, even as a newborn API, it's the BEST available for 3D rendering on all platforms that support it, unofficial or not.

> So either way, we need a cross-platform graphics API. Let's focus this discussion on improving the web platform, not fighting battles about the underlying system APIs.

I think you are missing the point here again. As you say, we need a cross-platform API. But, by that logic, accepting that JavaScript is just another platform, we'd like the SAME API.

Re: Apple proposes new web 3D graphics API

#106
post #23
post #10

Will it be patent encumbered, like Apple's "proposal" for touch events API? > Meanwhile, GPU technology has improved and new software APIs have been created to better reflect the designs of modern GPUs. These new APIs exist at a lower level of abstraction and, due to their reduced overhead, generally offer better performance than OpenGL. The major platform technologies in this space are Direct3D 12 from Microsoft, Me…

Not only that, but Apple seems to have decided to stop supporting open graphics standards altogether, including OpenGL [1]. Apple used to be quite vocal and influential as part of the ARB, not sure what caused the shift of the last few years. [1] https://www.g-truc.net/doc/OpenGL%20Drivers%20Status.pdf

The shift was especially jarring on the compute side of things. Apple literally started the OpenCL initiative, then decided to completely abandon their OpenCL driver in favor of Metal Compute.

Re: Apple proposes new web 3D graphics API

#107
post #83

Earlier quoted context omitted.

"We're not complaining, we're explaining the lay of the land." The "lay of the land" is that the rest of the world is adopting Vulkan, and therefore the right target for WebGPU is very obviously Vulkan. Even macOS and iOS can (theoretically) support it thanks to MoltenVK [0], and Vulkan is already available on Windows. Trying to wrap all three "major" native APIs is pointless when there's already one that works every…

Vulkan on Windows is all based on unofficial drivers that don't come with Windows and aren't supported by MS. We don't think it's right to depend on this even if it's theoretically possible. Likewise for unofficial macOS/iOS drivers.

> Vulkan on Windows is all based on unofficial drivers that don't come with Windows and aren't supported by MS.

This is not materially different than the situation with OpenGL, and yet I hope you'll agree that basing WebGL on OpenGL was the right decision, rather than inventing a new API based largely on a lower level API proprietary to a single company's platforms.

Re: Apple proposes new web 3D graphics API

#108
post #69

Earlier quoted context omitted.

Why is DirectX support needed? Isn't Vulkan supported on the same platforms as DirectX anyway?

We expect DirectX 12 drivers to be more complete, more performant, and more likely to be available out of the box without a separate install. We expect Windows browsers will want to build on top of DirectX, not Vulkan.

Care to back up those assertions with real world evidence?

Re: Apple proposes new web 3D graphics API

#109

"The major platform technologies in this space are Direct3D 12 from Microsoft, Metal from Apple, and Vulkan from the Khronos Group. While these technologies have similar design concepts, unfortunately none are available across all platforms." So Apple, the only company not supporting Vulkan on their platforms, is complaining that there isn't a cross-platform solution?

Pardon my ignorance, but what do you mean by "not supporting Vulkan on their platforms"? I thought Vulkan was an API that software developers used for graphics... Isn't that a part of OpenGL? Is Apple actively blocking something or have they just left something out?

Re: Apple proposes new web 3D graphics API

#110
post #83

Earlier quoted context omitted.

"We're not complaining, we're explaining the lay of the land." The "lay of the land" is that the rest of the world is adopting Vulkan, and therefore the right target for WebGPU is very obviously Vulkan. Even macOS and iOS can (theoretically) support it thanks to MoltenVK [0], and Vulkan is already available on Windows. Trying to wrap all three "major" native APIs is pointless when there's already one that works every…

Vulkan on Windows is all based on unofficial drivers that don't come with Windows and aren't supported by MS. We don't think it's right to depend on this even if it's theoretically possible. Likewise for unofficial macOS/iOS drivers.

Intel's drivers may be beta but official NVIDIA and AMD GPU drivers both fully support Vulkan on Windows.
Post reply on HN