Live data from Hacker News

3D Portability Initiative

khronos.org

31–40 of 55 posts

Re: 3D Portability Initiative

#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 graphics abstraction layer is a tiny portion of the engine, versus everything else that isn't covered by Khronos standards. Meaning GUI support, font, texture and shaders loading, mesh rendering, scene descriptions, game editors,....

Usually adding a new rendering backend to an engine doesn't take more than around one month, the biggest time slice being consumed by time to first triangle.

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, I am not confident this is going anywhere.

https://www.khronos.org/registry/vulkan/specs/1.0-extensions...

Re: 3D Portability Initiative

#32
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.

It is not easy to pull of impressive things with an API that is lagging 10 years behind what is available on desktop while fighting all kinds of browser idiosyncrasies.

We've got those super powerful processors that can be one or two orders of magnitude faster than CPUs, but their performance is mostly wasted because there is no way to do general compute on GPUs in browsers.

But even so, there are still some pretty cool things being done with WebGL:

https://www.shadertoy.com/ http://glslsandbox.com/

Re: 3D Portability Initiative

#33
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…

One look at today's web should tell you how much developers get paid for conserving power, as opposed to adding bling.

Re: 3D Portability Initiative

#34
post #21

This proposal makes much more sense than Apples "Metal Only" solution ( https://webkit.org/blog/7380/next-generation-3d-graphics-on-... ). I liked Metal at the beginning but over time it turned out that it is just another OpenGL/DX flavor with the same old driver/performance problems. Also using SPIR as IL allows the use of the preferred shader language. WebGL Next is about parallelism and abstraction, otherwise ther…

Can you comment a bit more on the limitations of Metal? I've been spending the last few days reading through the docs and learning how to use Metal. So, I'm curious what you (and anyone else, I guess) perceive its shortcomings to be.

My personal biggest concern was the re-invention of OpenGL/DX features without the proper knowledge why and how these features can be used. For example I never managed to apply a skeletal animation to a indirect indexed draw call or use transform feedback loops for ray-casting or other deferred shading techniques.

Re: 3D Portability Initiative

#35
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.

It seems to work in Firefox with WebGL disabled.

Re: 3D Portability Initiative

#36
post #28
post #27

Earlier quoted context omitted.

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…

WebGL must also not perceptibly increase page load times, a few milliseconds is acceptable. Almost every non-trivial WebGL page I've seen shows a "Loading" message for some period of time.

Well, I meant just fixed base cost in milliseconds. In other words, how long it takes to just output something extremely simple, say, a flat shaded triangle without external libraries. Not to measure resource loading and other initialization.

Of course initialization and possible shader language, SPIR or whatever compilation will take time on top of that.

Many current WebGL apps require a lot of large data, textures, meshes and libraries. Obviously loading those will take time.

Re: 3D Portability Initiative

#37
post #25

Earlier quoted context omitted.

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

Right, but the proposal is about an API which lets web applications do shader-language stuff beyond the level of WebGL. Is this really necessary?

The new APIs (Vulkan, DX12, Metal) are mostly about performance. I can't think of any major thing that you can't implement in WebGL. But, a portable 3d API would be awesome for native apps. And, why not have that be the 3d API for the web too? Like WebGL / OpenGL ES 2.

Re: 3D Portability Initiative

#38

Is Khronos going to implement something? Because AFAIK they only write the specs for others to implement them - so it is up to each vendor to make the API available. If Apple and Microsoft aren't going to implement Vulkan, why would they implement something else?

Recently, Khronos has been also implementing some of the infrastructure, like the Vulkan loader and validation layers, the GLSL-to-SpirV compiler (glslang) and the SpirV tools which are open source and developed by LunarG and others.

The actual driver parts are written by hardware vendors (IHV's in Khronos-speak) but there's a push to put less stuff in the drivers and more stuff that is common to all vendors.

Not sure about this project, though. Looks to me like an effort to get the relevant parties discuss this in GDC and see what comes up.

Re: 3D Portability Initiative

#39
post #2

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

Yes, but Unity, Unreal and the other engines need a 3d API to run on. They can use Vulkan, D3D or Metal on native desktop/mobile platforms but that's already 3 separate backends and there's no good API for the browser (WebGL being suboptimal in many ways and about 15 years behind the native platforms).

Re: 3D Portability Initiative

#40
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.
Post reply on HN