News for hackers. Stuff that matters.
Re:Apple proposes new web 3D graphics API by om2 on Tuesday February 07, 2017 @06:14PM (#13593924)
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.
Re:Apple proposes new web 3D graphics API by ChuckMcM on Tuesday February 07, 2017 @09:42PM (#13595224)
Not trying to be uncharitable here, I'm just sharing how it looks to someone driving by.

That doc says:

"It[WebGL] was based on OpenGL ES, a cross-platform API for graphics targeted at embedded systems. This was the right starting place, because it made it possible to implement the same API in all browsers easily, especially since most browser engines were running on systems that had support for OpenGL."

And then it says later this:

"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."

And one imagines you could put up a big chart and have all the platforms as the columns and each technology as the row, and show all of the gaps. But the consensus is that Vulkan would show up on all the platforms except Apple's. So one might ask "well if you put Vulkan on your platforms, then you would be back to the WebGL situation where you had stuff that ran on all platforms and you could work on a Web API to that code.

So "optically" which is to say, to a casual observer, it seems like Apple is saying everyone put this new thing on your platform as this web api we're working on will talk to it.

I understand that you just want the best experience possible given the advances that have been made in GPUs over the last decade.

Re:Apple proposes new web 3D graphics API by MrScruff on Wednesday February 08, 2017 @03:35AM (#13596773)
But isn't the Vulcan situation on windows similar to the OpenGL one? You need to install drivers...

In which case won't browser makers target directx anyway, as they have with webgl?

Re:Apple proposes new web 3D graphics API by jamstruth on Wednesday February 08, 2017 @04:30AM (#13596999)
Why would Microsoft behave any differently to this new API when they have not officially supported previous open attempts?

Adding another standard to the mix just seems to be compounding the problem to me.

Re:Apple proposes new web 3D graphics API by Benjamin_Dobell on Tuesday February 07, 2017 @06:19PM (#13593961)
I think it's a bit disingenuous to say they're totally orthogonal. Presumably you understand that if Apple supported Vulkan natively, then "WebVulkan" would be the obvious choice for a web API (just as it was with OpenGL/WebGL).
Re:Apple proposes new web 3D graphics API by om2 on Tuesday February 07, 2017 @06:41PM (#13594153)
I don't think browsers will choose to pipe this through Vulkan drivers on Windows (since they are all unofficial and in general don't have as complete coverage) and I don't think they'd choose to use unofficial Vulkan drivers for Apple platforms either, even if they existed.

Also, if you compare the sample code in the post with a sample of Vulkan code, I think it will be clear that a literal "WebVulkan" is a road best not traveled.

Re:Apple proposes new web 3D graphics API by comex on Tuesday February 07, 2017 @08:02PM (#13594703)
> Also, if you compare the sample code in the post with a sample of Vulkan code, I think it will be clear that a literal "WebVulkan" is a road best not traveled.

Are you sure? Don't forget about WebAssembly… Just as Emscripten currently exposes the original OpenGL ES API as a wrapper for WebGL, for the sake of porting existing C/C++ code that uses it, in the future there will be a desire to port Vulkan renderers to the web. That will be easier if the browser API is based on Vulkan; otherwise you'll end up with a shim on top of a shim. Also, the same arguments about developer familiarity that led to WebGL being designed as it is could apply just as well to Vulkan - albeit somewhat more speculatively, given Vulkan's newness.

Re:Apple proposes new web 3D graphics API by om2 on Tuesday February 07, 2017 @10:12PM (#13595367)
It's likely there will be a need for a C++-level meta-API that can work on top of Vulkan, D3D and Metal. There's already been discussion of making such a thing. It would be nice if that could be exposed to WebAssembly via Emscripten.
Re:Apple proposes new web 3D graphics API by DLudwig on Tuesday February 07, 2017 @11:20PM (#13595721)
But to what degree might this 'meta-API' be different than WebGPU/JS? Might this effort effectively end up creating two, new APIs, each with different vocabularies (one for JS, another for C or C++)?
Re:Apple proposes new web 3D graphics API by monocasa on Wednesday February 08, 2017 @12:02AM (#13595899)
I mean, that's going to happen anyway.

The whole point of Vulkan/Metal/DX12 is that since GPUs have their own MMUs it's totally OK to seg fault your own process from the GPU side. You just crash your process, but you don't take down the system.

That line of thinking doesn't really translate well to a JS API.

Re:Apple proposes new web 3D graphics API by chc on Tuesday February 07, 2017 @09:10PM (#13595088)
What does "unofficial" mean here? AFAIK Vulkan is fully supported by the current versions of both AMD and Nvidia's Windows drivers, which seems about as official as a driver can get.
Re:Apple proposes new web 3D graphics API by shmerl on Tuesday February 07, 2017 @07:46PM (#13594584)
So who stops Apple (and MS for that matter) from making it official? If it's about collaboration, let them grow up and stop their petty lock-in games. And if not, I don't think anyone should accept proposals coming from them for such things.
Re:Apple proposes new web 3D graphics API by MrScruff on Wednesday February 08, 2017 @03:40AM (#13596799)
The proposal in this case appears to be coming from the safari group rather than the metal one.

Even if that weren't the case, for a standard to be a success then pragmatism is more useful than idealism. Telling the maintainers of most of the worlds desktops to fall in line isn't really practical.

Re:Apple proposes new web 3D graphics API by ioquatix on Tuesday February 07, 2017 @06:20PM (#13593971)
If Apple supported Vulkan, all major platforms would support the same API. Exposing this to the web would be relatively straight forward. So, I don't think your assertion that they are orthogonal goals is correct.
Re:Apple proposes new web 3D graphics API by sydd on Tuesday February 07, 2017 @06:20PM (#13593965)
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).
Re:Apple proposes new web 3D graphics API by acqq on Tuesday February 07, 2017 @06:26PM (#13594031)
> 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 by sydd on Tuesday February 07, 2017 @06:42PM (#13594169)
and the next sentence goes "However, there are well defined mechanisms by which IHVs can ship a Vulkan driver on any version of Windows. But it will be as it is the case now with OpenGL. That is, it is up to the application to negotiate with the implementation to install an appropriate Vulkan driver for the hardware that is on the machine."

Also "Vulkan is available on all versions of Windows that are on DirectX 12, so there is potentially some value to the developer community to having a single API that spans multiple Windows versions."

Vulkan is fully supported on Windows with semi-recent GPUs (e.g. its supported by Nvidia with Geforce 6xx - released in 2012!) by all vendors.

The article is only saying that MS defers what API is supported to GPU manufacturers. Its not supported by Xbox and Windows Phones, but Xbox is a very different market and no one cares about Windows Phone.

Re:Apple proposes new web 3D graphics API by guardiangod on Tuesday February 07, 2017 @07:06PM (#13594333)
Someone else mentioned that they don't care about Nvidia and AMD both advocating for Vulkan because I'm personally not interested in the big desktop PCs

https://en.wikipedia.org/wiki/Vulkan_(API)#Compatibility

In addition to Nvidia and AMD, Intel, Imagination Technologies, Qualcomm (!!!), and ARM support Vulkan. Hardware wise, there is absolutely no problem whatsoever.

Re:Apple proposes new web 3D graphics API by mrpippy on Tuesday February 07, 2017 @07:32PM (#13594491)
Intel has only released beta/test drivers for Windows, and this was their statement as of August:

The current Plan Of Record is that Intel® is not supporting Vulkan on Windows drivers. The drivers that were made available on Developer.com are intended for Vulkan developers.

So, it is expected that some Vulkan drivers may not work for end users.

Intel GPUs power at least 50% of Windows PCs, and I'd guess the number is closer to 70%. Unless this situation changes, Vulkan is not the single cross-platform answer.

Re:Apple proposes new web 3D graphics API by ioquatix on Tuesday February 07, 2017 @10:57PM (#13595600)
Intel has (unofficially?) said they will deliver production quality Vulkan drivers for their iGPUs. https://software.intel.com/en-us/forums/developing-games-and...
Re:Apple proposes new web 3D graphics API by acqq on Wednesday February 08, 2017 @05:10AM (#13597155)
Thanks for providing the link. The relevant quotes:

"Vulkan support right now is for 6th Generation and newer products and we are targeting developers not consumers. Thus why the releases are beta and are listed in the Game Developer Zone and not anywhere else."

is full Vulkan support planned for consumers: "To my knowledge yes, but I do not know when and would not want to hazard a guess"

Re:Apple proposes new web 3D graphics API by microcolonel on Tuesday February 07, 2017 @08:17PM (#13594801)
Windows 8 and older power more than half of Windows PCs, so Direct3D 12 is no more widely deployed than Vulkan.
Re:Apple proposes new web 3D graphics API by pjmlp on Wednesday February 08, 2017 @03:08AM (#13596676)
It is, given that Vulkan only has quality drivers on Android 7, currently 0.7%, and GNU/Linux, currently 2% of the desktop market, as per Steam dashboard.

Windows 10 is at around 25% currently.

Re:Apple proposes new web 3D graphics API by vetinari on Wednesday February 08, 2017 @07:17AM (#13597680)
However, those Windows 7 and 8 machines with AMD and Nvidia GPUs do support Vulkan.
Re:Apple proposes new web 3D graphics API by pjmlp on Wednesday February 08, 2017 @07:46AM (#13597794)
Re:Apple proposes new web 3D graphics API by vetinari on Wednesday February 08, 2017 @08:15AM (#13597922)
And game availability relates to GPU API support available at the platform... how exactly?

The fact that game studios decide to use one API or another is no factor in evaluating API availability. (Also note how many DX12 games not published by Microsoft are DX12 exclusives - that says something about Microsoft motives, but not about API qualities).

Re:Apple proposes new web 3D graphics API by pjmlp on Wednesday February 08, 2017 @08:29AM (#13598004)
> And game availability relates to GPU API support available at the platform... how exactly?

When given the option, professional game developers choose the one that better helps them achieving their goals.

Re:Apple proposes new web 3D graphics API by vetinari on Wednesday February 08, 2017 @10:32AM (#13598983)
There's a reason why DX had almost zero adaptation outside games. Maybe it is not that good API, if you need to support your app for a few years too. Games are fire and forget.
Re:Apple proposes new web 3D graphics API by pjmlp on Wednesday February 08, 2017 @12:08PM (#13599919)
Actually 2D and text rendering, WPF rendering, UWP Composition API, UI animation support.

All of them used by most desktop applications on Windows, including image, video and 3D editing applications.

Re:Apple proposes new web 3D graphics API by vetinari on Wednesday February 08, 2017 @12:32PM (#13600170)
Not explicitly. It is used by platform libraries that these application use. Given that they are provided by the platform vendor - the same that pushes DX - it's no wonder, that it was being pushed there.

CAD, GIS, or other applications that need to use 3D explicitly, on the other hand.... Basically only Autodesk ventured there, with 3ds Max and AutoCAD (since 2015).

Re:Apple proposes new web 3D graphics API by pjmlp on Wednesday February 08, 2017 @02:38PM (#13601328)
Well, Autodesk products are market leaders, probably Catia is the only alternative.
Re:Apple proposes new web 3D graphics API by vetinari on Thursday February 09, 2017 @05:37AM (#13605962)
There are actually many CAD packages, with different levels of complexity, from Siemens NX to VariCAD, plus myriads of domain-specific ones, like ArchiCAD.

For example, most of our customers prefer MicroStation, for some reason (no, we are not Bentley shop ;).

Re:Apple proposes new web 3D graphics API by microcolonel on Thursday February 09, 2017 @09:41AM (#13607197)
I'm sure you can see that 2/5 (approaching half) of the Direct3D 12 titles were published by Microsoft themselves.

And actually, by the numbers there are more titles on Vulkan than there are titles not released by Microsoft on D3D12.

Re:Apple proposes new web 3D graphics API by acqq on Tuesday February 07, 2017 @06:46PM (#13594212)
> by all vendors

NVIDIA and ATI are hardly "all" vendors I care about. I'm personally not interested in the big desktop PCs. YMMV of course. But I'm personally very against "winner takes it all" and I'd really like some more universal web API, especially one that consumes less power on the iOS devices.

Edit: the answer to the question below by sydd: I'm honestly and pragmatically interested in iOS and Apple devices, not Microsoft, and not the Google-controlled ones. All these comments are about Apple's proposal for a standard for Web. I'm with the ones having the smaller market share here. I'm still sad Opera Presto is no more. I consider such "smaller" players extremely important for the web.

Re:Apple proposes new web 3D graphics API by sydd on Tuesday February 07, 2017 @07:06PM (#13594332)
Then which vendors do you care about from the Microsoft ecosystem (which this thread is about)? Vulkan is supported by Nvidia, AMD and Intel, I think this covers >99% of the Windows landscape. Windows phone? or Xbox? Hololens?
Re:Apple proposes new web 3D graphics API by kalleboo on Tuesday February 07, 2017 @10:40PM (#13595508)
Intel does not support Vulkan. They had some beta drivers for devs to test on, but no further plans
Re:Apple proposes new web 3D graphics API by ioquatix on Tuesday February 07, 2017 @11:07PM (#13595663)
This is not true. Intel has (unofficially?) said they will deliver production quality Vulkan drivers for their iGPUs. https://software.intel.com/en-us/forums/developing-games-and...
Re:Apple proposes new web 3D graphics API by goldfire on Tuesday February 07, 2017 @06:41PM (#13594154)
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.
Re:Apple proposes new web 3D graphics API by pjmlp on Wednesday February 08, 2017 @03:09AM (#13596680)
Not on UWP applications, which are the future.
Re:Apple proposes new web 3D graphics API by douche on Wednesday February 08, 2017 @05:44AM (#13597304)
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 by pjmlp on Wednesday February 08, 2017 @05:56AM (#13597341)
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 by sydd on Wednesday February 08, 2017 @08:02PM (#13603717)
I dontknow, what are you trying to prove? Its a fact that from the new, low-level APIs (Vulkan, Metal, DX 12) Vulkan has the most widespread support:

Vulkan: Its on most Windows PCs, most Linux PCs, on newer Android devices, and on the Nintendo Switch. Also there are rumours of the next PS going with Vulkan too.

DX12: most Windows PCs, XBox One.

Metal: iOS/OSX only.

So its clearly the future on the desktop market. Obviously it will take a few years for it to spread, since AAA game companies go for the proven solutions.

On mobile, we will see, I cant imagine Google adopting Metal or DX12, and Apple sadly seems to be sticking to their proprietary API.

Re:Apple proposes new web 3D graphics API by pjmlp on Thursday February 09, 2017 @03:27AM (#13605469)
> Vulkan: Its on most Windows PCs, most Linux PCs, on newer Android devices, and on the Nintendo Switch. Also there are rumours of the next PS going with Vulkan too.

The most Windows PCs have Intel cards, which only have a beta driver available.

The majority of AMD and NVidia owners with Vulkan support, are on Windows 10, which supports DX12 anyway.

Newer Android devices, means Android 7, which thanks to how update process works, a whooping 0.7% market share, composed of Google Pixel, Smasung S7 and LG v20.

Nintendo has added Vulkan support to Switch, but they are only testing waters, the actual API that allows to make full use of the available hardware is called NVN.

Sony, I really doubt it. The PS4 APIs, the successor of LibCGM is actually quite close to DX 12 and the PS 3 experience with OpenGL ES wasn't that great.

http://sandstormgames.ca/blog/tag/libgcm/

Vulkan is still catching up with DX12 for stuff like multi-GPU processing.

Linux PCs are just 2% on Steam, and drivers are kind of working, hardly a value proposition to make to most professional game studios.

https://www.youtube.com/watch?v=ynyO3O3zd3E

Re:Apple proposes new web 3D graphics API by surrealize on Tuesday February 07, 2017 @08:56PM (#13595006)
> Apple supporting Vulkan on macOS and iOS wouldn't do anything to expose a new GPU API to the web. They are totally orthogonal.

The web GPU API and the lower-level API aren't "totally orthogonal" if you're using the Metal shader language in your web GPU API! You're trying get web authors to use (a part of) Metal! It's totally not orthogonal.

Re:Apple proposes new web 3D graphics API by om2 on Tuesday February 07, 2017 @09:05PM (#13595059)
The Metal Shader Language use in our prototype is totally a placeholder, and the post says so. We expect the standards process to define new source and binary representations, possibly based on Khronos's SPIR-V.

The shader language is partly independent of the API though, and we though the API was the interesting thing to prototype, more so than shaders.

Re:Apple proposes new web 3D graphics API by shmerl on Tuesday February 07, 2017 @10:12PM (#13595371)
That's already something. But you shouldn't have started with a bad placeholder, waiting for others to criticize and propose replacing it. Start with open languages and technologies right away.
Re:Apple proposes new web 3D graphics API by MBCook on Tuesday February 07, 2017 @10:22PM (#13595414)
Should they have invented a different place holder (and all the work that would require) just to throw it away and be all data they weren't using the shader language that Vulcan uses?

The post was VERY clear that that was temporary while working on the other basics and a real decision would be made later.

Re:Apple proposes new web 3D graphics API by shmerl on Tuesday February 07, 2017 @10:24PM (#13595421)
This shows, that this idea wasn't thought through enough. And coming from Apple, it raises a concern naturally. These things should have solid foundations from the start.
Re:Apple proposes new web 3D graphics API by MBCook on Tuesday February 07, 2017 @11:04PM (#13595644)
> This shows, that this idea wasn't thought through enough.

Isn't this the way you're supposed to do open source? Post code early and often for comments?

It seems like a ridiculous requirement that to show a sketch of what they think a web API should look like for next generation 3-D graphics they should have to design an entire shader language that's different from the one they already have.

It's just a placeholder. They didn't even SHOW the language. They just referred to its name and said they were using that for expediency during the initial version of the document they were showing.

Re:Apple proposes new web 3D graphics API by shmerl on Wednesday February 08, 2017 @12:00AM (#13595891)
MSL is a non starter, because it's closed. Making a project from scratch that invites collaboration, requires thinking about such issues in advance and having them at the very foundation. That's my whole point. Failure to do it, is not an encouraging sign.

> should have to design an entire shader language that's different from the one they already have.

They don't need to design a new language - take existing open one and use it.

Re:Apple proposes new web 3D graphics API by MBCook on Wednesday February 08, 2017 @12:20AM (#13595977)
They explicitly said that it's a placeholder. They weren't suggesting it be used. It was just something easy for them to rig up for their initial demo.

I think you're reading a lot of intention that isn't there into that placeholder.

Re:Apple proposes new web 3D graphics API by shmerl on Wednesday February 08, 2017 @12:26AM (#13596019)
OK, so why take the wrong placeholder? Do the homework, and present the initial proposal in a better shape.
Re:Apple proposes new web 3D graphics API by oliverkyss on Wednesday February 08, 2017 @06:32AM (#13597481)
But why male models?
Re:Apple proposes new web 3D graphics API by givinguflac on Tuesday February 07, 2017 @06:19PM (#13593956)
Don't bother, they clearly don't get it.