Live data from Hacker News

Apple proposes new web 3D graphics API

webkit.org

491–500 of 650 posts

Re: Apple proposes new web 3D graphics API

#491

Earlier quoted context omitted.

Do you even know how Vulkan works? The driver API exposes a layered stack. It's trivial to add a validation layer between the driver and the client. It's SO much better than existing OpenGL or DirectX driver models for this one reason alone.

Yes, I do. I'm also slightly familiar with OpenGL and Metal. I think Metal has a better API. You are free to disagree of course.

Metal has nice API only if you are using [ObjectiveC|Swift]. The moment you step outside (Rust, Python, ...), you have additional jumps to make.

Re: Apple proposes new web 3D graphics API

#492
post #164

Earlier quoted context omitted.

The standard in question is still "one of the standards" (and a "me too" one, "the one to end all the previous standards" (1) as far as I see it) not the standard. Remember claims of Flash being the necessary thing on the mobile web, and efficient too? It turned out it was never true. Note there's still no web version of "pure" Vulkan. If it gets to be modified to be less "ridiculously low level" in its web variant,…

I don't think the XKCD reference is appropriate. Vulkan is trying to standardize low-level graphics API, which is a niche in which other existing contenders (notably, D3D 12 and Metal) are explicitly platform-specific, and don't even try to be standards outside of their ecosystem. Thus, it fills a useful niche. Yes, it doesn't have a web API. That's because there's no existing web API for low-level graphics of this n…

> Yes, it doesn't have a web API. That's because there's no existing web API for low-level graphics of this nature. The question is, what this API should look like. It seems natural to answer this question with, "whatever is the standard outside of the web". Now, there isn't one - but Vulkan is the closest that we have.

The truth comes through even in the first part of the sentence containing "Vulkan".

User phire was even more honest(1)

"Everyone here (including me) is upset that Apple are refusing to support Vulkan (or even improve their existing OpenGL support)." "It doesn't really matter that the new API is targeting a completely different market to Vulkan. It doesn't really matter that a WebVulkan can't really exist in the first place. It doesn't matter if this is probally the correct starting point for a NextGen web graphics API." "People just want Vulkan on MacOS and/or IOS."

1) https://news.ycombinator.com/item?id=13594501

Re: Apple proposes new web 3D graphics API

#493
post #149

Apple proposing standards is ridiculous. They only care about standards when they're basically forced to adopt/support them, or they're their own. These are the same guys that: - use lightning instead of mini USB - removed the headphone jack - are creating yet another proprietary connector for accessories - don't allow their OS on third-party hardware - only allow developing for iOS from macOS - only allow apps on iO…

> use lightning instead of mini USB

mini usb? http://phandroid.s3.amazonaws.com/wp-content/uploads/2009/06... I'm assuming you mean USB-C, which was developed after Lightning with a push from Apple (they contributed more engineers to the USB-C spec team than any consumer electronic company).

Re: Apple proposes new web 3D graphics API

#494
post #296

Earlier quoted context omitted.

Yes, for Apple... For the consumer? I don't think so. As a consumer, the mobile device market is a walled garden. Are apps compatible between platforms? Do you have control over your hardware? Can you choose what software you run on your own device?

Consumers don't appear to be bothered by any of those missing freedoms.

Consumers are bothered by games that get released much later (or not at all) on iOS instead of Android, or the other way around. They're not directly bothered by the cause, but they sure as hell hate the symptoms.

Re: Apple proposes new web 3D graphics API

#495
post #430

Earlier quoted context omitted.

They don't need to support it, because the GPU vendors have done so in their drivers, so it works fine on Windows without Microsoft's assistance.

Not on UWP applications, which are the future.

They've been saying that for a few years, but nobody seems to be buying it. The store is still a wasteland of mobile-style shovelware, and none of the real Windows applications have made the jump, far as I have seen.

Re: Apple proposes new web 3D graphics API

#496
post #218

Earlier quoted context omitted.

I don't see why this would be the case. The vendors (i.e. NVidia) are providing the drivers, I see no reason why they would porposely cripple them.

Because they have been doing so with OpenGL (an identical situation) for years. Besides, "purposefully cripple" is inaccurate. They just put more effort into Direct3D because there's no reason to support OpenGL as fully.

Including the SDKs, AMD and NVidia SDKs for a long time used to have better DirectX tooling than OpenGL.

Re: Apple proposes new web 3D graphics API

#497
It is so sad to see this whole discussion.

Because I usually think, HN is different, from the angry, uninformed mobs out "on the streets".

I mean, I don't know much about low level graphic API's, I read about them, but I don't work with them directly. But apparently most of the people here don't know either!

They basically seem to know that they like open standards (so do I) and that Vulkan is a open Standard and they heard of a possible WebVulkan so that must be the solution then. Or just continue using WebGL. Because it works, right?

What they didn't heard of and what I came up with a bit of reading, before posting anything, is that WebVulkan first of all don't exist and secondly probably shouldn't exist mainly because of security. And that it is very, very low level. (e.g. https://floooh.github.io/2016/08/13/webgl-next.html) And that WebGL in itself has some flaws, so it makes sense to design a new API for the future, without them. Because even though WebGL is working and awesome right now, that's not a reason to not evolve ...

But why bother reading and really discuss a new WEB proposal, when "People just want Vulkan on MacOS and/or IOS."?

Re: Apple proposes new web 3D graphics API

#498
post #414

For all arguing "to use Vulcan": the API proposed is a high-level API which could be implemented on top of Vulcan. Or any other lowlevel API like DirectX or Metal. When designing an API, you have to take the characteristics of the calling language into respect. Especially when you are trying to achieve the highest possible performance. You can define highlevel APIs, which try to minimize the amount of computation in…

> assuming that the client can implement abstractions more efficiently as they are more tuned to his needs. off topic, but who is the client?

The part of the software calling/using the API. So, if you are writing a C++ application targeting the API, you should be able to implement high level abstractions at least as efficient than an API provider could. Possibly more efficient, as you can tune your abstractions to your very non-generic needs. An API provider though has to implement the more common use cases which might bring inefficiencies. However this turns around 180 degrees, when talking about a language like Javascript, which despite all JIT enhancements does not produce as efficient low level code. There you want to put as many of the computations as possible into your API so the resulting application runs faster.

Re: Apple proposes new web 3D graphics API

#499
post #495
post #430

Earlier quoted context omitted.

Not on UWP applications, which are the future.

They've been saying that for a few years, but nobody seems to be buying it. The store is still a wasteland of mobile-style shovelware, and none of the real Windows applications have made the jump, far as I have seen.

Many of the Windows 10 applications like the file explorer and Edge are UWP.

Also the majority of all the new OS APIs are UWP only.

Re: Apple proposes new web 3D graphics API

#500
The discussion about Apple not supporting Vulkan is irrelevant because the point of this Webkit proposal is replacing WebGL 2 for web applications, not replacing the sadly fragmented "real" GPU APIs for native applications.

As a WebGL replacement and as a 3D API in general, many details of the proposal are strange.

>Since we were building on Apple platforms we picked the Metal Shading Language.

Mature and portable technology...

>pipelineDescriptor.colorAttachments[0].pixelFormat = "BGRA8Unorm";

No enumerations? Are they going to validate strings?

>let vertexData = new Float32Array([ /* some data */ ]); >let vertexBuffer = gpu.createBuffer(vertexData); >commandEncoder.setVertexBuffer(vertexBuffer, 0, 0);

No internal structure?

>commandEncoder.drawPrimitives("triangle", 0, 3);

One triangle? No index buffers?

I don't understand whether they are offering an insultingly dumbed down overview of a rather complete (but presumably ugly) proof of concept implementation or throwing around gratuitously WebGL-incompatible ideas to dominate the standardization process.

Post reply on HN