Live data from Hacker News

3D Portability Initiative

khronos.org

41–50 of 55 posts

Re: 3D Portability Initiative

#41
post #27
post #23

Who needs a "next generation WebGL?" It's hard to find an interesting or useful WebGL site. There are plenty of demos and ads, but few sites worth visiting. Here, go shoot some zombies. http://www.y8.com/games/abandoned_island That's about as good as it gets.

Same was said about sound, Javascript, web video, and pretty much any addition on top of basic markup. I think future web will be better and/or can consume less power when sites have more direct control of rendering. Emphasis on power usage -- I think they (= browser vendors) should give a lot of consideration how to enable developers to save power. Web rendering is already mainly done on GPUs anyways, but there's op…

Which is why I only do web dev when I get paid to do it, for me programming for fun means native applications.

Re: 3D Portability Initiative

#42
post #31
post #2

Isn't the de-facto answer to this 'Unity' or 'Unreal Engine' ?

Yes they are. HN folk doesn't like to hear it, but that is how the game industry has worked since the early 80's where each gaming platform was a special snowflake. There is a thriving industry of game engines and middleware that grew from there and the majority of game studios doesn't spend more than the time required to select which middleware they want to use. Even for those that build their own engines, the graph…

> Given that Vulkan specification already has 74 extensions and is only at version 1.0.42, already bringing up the fun of "write once, port multiple times" from OpenGL

This is a dishonest and decieving way of putting things.

The difference between Vulkan and OpenGL here is that most of the functionality extensions are software only additions and are available everywhere with up-to-date drivers.

Mobile is a bit of a pain point because they don't get driver updates as nicely.

If you look at Vulkan extensions qualitatively (not just the numbers) you'll see that it's nothing at all like the OpenGL extension mess. The vast majority is window system integration (WSI) and extenral memory and multi device stuff. Platform specific stuff which would exist in WGL/GLX/EGL for OpenGL and can't reasonably be put in "core" (because everyone must support all of core).

It was perhaps a mistake to attempt to release Vulkan 1.0 as early as they did, it might have been a better idea to put out 0.9 beta version and accept that there will be API changes.

However, very few changes have been made to the core apis.

Re: 3D Portability Initiative

#43
post #8

Why not just port some subset of Vulkan to Apple?

There is a commercial, proprietary Vulkan implementation (called MoltenVk) that runs on top of Apple's Metal.

This is not a technical issue, but a political one. Apple has decided not to allow Vulkan in their walled garden.

Re: 3D Portability Initiative

#44
post #42
post #31

Earlier quoted context omitted.

Yes they are. HN folk doesn't like to hear it, but that is how the game industry has worked since the early 80's where each gaming platform was a special snowflake. There is a thriving industry of game engines and middleware that grew from there and the majority of game studios doesn't spend more than the time required to select which middleware they want to use. Even for those that build their own engines, the graph…

> Given that Vulkan specification already has 74 extensions and is only at version 1.0.42, already bringing up the fun of "write once, port multiple times" from OpenGL This is a dishonest and decieving way of putting things. The difference between Vulkan and OpenGL here is that most of the functionality extensions are software only additions and are available everywhere with up-to-date drivers. Mobile is a bit of a p…

It is not being dishonest as alternative APIs don't suffer from extension explosion.

Also I don't believe that by following this path Vulkan will be any better than OpenGL, ES, WebGL.

Let's see how many Vulkan 2.0 will have and of what kind.

Re: 3D Portability Initiative

#45
post #23

Who needs a "next generation WebGL?" It's hard to find an interesting or useful WebGL site. There are plenty of demos and ads, but few sites worth visiting. Here, go shoot some zombies. http://www.y8.com/games/abandoned_island That's about as good as it gets.

Google maps doesn't work without WebGL, and some other map related websites like mappilary.

Why on Earth (no pun intended) should Google Maps require WebGL?

Another example of people losing focus on providing actual value with the products they make.

Re: 3D Portability Initiative

#46
post #23

Who needs a "next generation WebGL?" It's hard to find an interesting or useful WebGL site. There are plenty of demos and ads, but few sites worth visiting. Here, go shoot some zombies. http://www.y8.com/games/abandoned_island That's about as good as it gets.

Medical imaging comes to mind. Probably lots of other stuff. Ikea and others already have those kitchen planners, they can still be improved a lot.

Re: 3D Portability Initiative

#47
post #30

I'm not sure why Vulkan couldn't work on windows: isn't it mostly in the hands of driver developers (i.e. Nvidia/AMD) rather than Microsoft?

It does work on Windows. Not sure about Windows Phone though.

UWP only allows for DX, but one can built other APIs on top, e.g. ANGLE for OpenGL support.

Re: 3D Portability Initiative

#48

Earlier quoted context omitted.

Google maps doesn't work without WebGL, and some other map related websites like mappilary.

Why on Earth (no pun intended) should Google Maps require WebGL? Another example of people losing focus on providing actual value with the products they make.

Phones.

Re: 3D Portability Initiative

#49
In accordance with federal law (http://n-gate.com/), I'm obligated to point out this Rust library, which does exactly this! https://github.com/gfx-rs/gfx. I worked on the second version of the API in 2014 and it's only gotten better since. The major thing this particular abstraction still doesn't solve is shaders: you need to write a shader per backend you support. Shader portability is a bit of a sticky problem.

Re: 3D Portability Initiative

#50
post #44
post #42

Earlier quoted context omitted.

> Given that Vulkan specification already has 74 extensions and is only at version 1.0.42, already bringing up the fun of "write once, port multiple times" from OpenGL This is a dishonest and decieving way of putting things. The difference between Vulkan and OpenGL here is that most of the functionality extensions are software only additions and are available everywhere with up-to-date drivers. Mobile is a bit of a p…

It is not being dishonest as alternative APIs don't suffer from extension explosion. Also I don't believe that by following this path Vulkan will be any better than OpenGL, ES, WebGL. Let's see how many Vulkan 2.0 will have and of what kind.

Yes, yes it is. If the extensions would be anything like the OpenGL extensions which make changes to the core api functionality, you'd be right. But take a look at the extensions and tell which one(s) would cause a "write once, port everywhere" situation.

I can't name a single extension that would be causing any friction in Vulkan, unlike OpenGL where there's lots of code paths that need to be implemented to do even basic stuff (and all the core/ARB/EXT variations).

Yeah, Vulkan has some extra complexity stemming from being cross-vendor and designed by a commitee. But it's nowhere nearly as bad as you imply.

In my experience with Vulkan, it's all the optional features and device capabilities that need to be queried at runtime and decisions made based on that that's causing complexity with portability (you don't need to care about most of the extensions, and the ones you do have to care about are simpler than their OpenGL counterparts, ie. WSI vs. GLX/WGL/EGL). And apart from a few pain points (like numbers of queues exposed), it's relatively straightforward and comparable to D3D or Metal in complexity.

Post reply on HN