Live data from Hacker News

Meta releases Intermediate Graphics Library

khronos.org

191–200 of 221 posts

Re: Meta releases Intermediate Graphics Library

#193

It's a nice project, but isn't the majority of the problem it "resolves" already solved by Vulkan? I was under an impression Vulkan runs on everything. However I only used Vulkan (with ncnn) for AI. I don't know how tedious it might be to use it for graphics directly.

> I was under an impression Vulkan runs on everything.

Sadly, that's not the case. For game consoles, neither Xbox nor PlayStation support Vulkan. iOS and macOS have their own Metal API (because of course they got to have their own thing).

So, with just a Vulkan backend, you can only target Windows, Linux, Android, and Nintendo Switch natively. Translation layers like MoltenVK may help though.

It's still unclear whether the next iteration of the Switch will continue to support Vulkan.

Re: Meta releases Intermediate Graphics Library

#194
post #59

Any ideas why it excluded Direct3D as a target? It seems to be the only omission. Or is OpenGL/Vulkan support sufficient to cover Windows perhaps?

I'd say even Vulkan alone is sufficient to cover Windows.

The main benefit of DirectX 11 is that it's a lot simpler for the developer. But when you are creating an abstraction layer for multiple APIs, you are not the target audience for a simple to use graphics API.

IIRC Doom Eternal only supports Vulkan (on PC) and that didn't really cause problems. In fact, the game's performance was superb.

Re: Meta releases Intermediate Graphics Library

#196
post #94
post #86

Earlier quoted context omitted.

You're right, that's weird. The particular snippet you linked to isn't that egregious, it just creates a dummy 1x1 texture for some reason, and changes a hint. A lot of stuff in that file though is branched on that opengl flag. The `render` function is a huge mess, and it doesn't even seem like that demo supports Metal at all. But tbf also, I'm just skimming the code base. Maybe they'll publish some better docs later…

It's a very weird one. createRenderPipelines uses the branch to add #version 460 to the beginning of shaders (one would think the platform backend could do that for you, also this won't support GLES2 or GL3), and also makes the programmer build a sampler/uniformblock mapping table. That's... perhaps needed if you're on GL3 because you don't have access to binding=N in the shading language and you don't want to do any…

What really makes me sad is that there is enough of my brain space wasted on gpu esoterics that I can understand this comment.

GPU programming is insane and the devs have stockholm syndrome.

Re: Meta releases Intermediate Graphics Library

#197
post #182

If Apple hadn't created Metal, the world would have been better off. Thank you, Meta, for your hard work. Also, there are those who argue that starting new projects in C++ in 2023 is almost always wrong. How about checking out the new C++ library? Do you think your preferred language X would be better than C++ in this situation?

If Apple hadn't created Metal we would have nothing to compare Vulkan with and to point and laugh at how badly Khronos did. (DX doesn't count, MS has no taste)

Re: Meta releases Intermediate Graphics Library

#198

Is it ever possible in the future to have an actual uniform graphics API, instead of having to make complicated abstraction layers to make cross platform graphics? (I mean theoretically, will it be possible in say 10 thousand years)

OpenGL was that, in the early days. But GPUs started being able to do more things than OpenGL could talk about, and people wanted to use all the new features to make shinier things. We almost had it, with Vulkan. But Apple just had to Think Different.[1] If it were not for Apple, we would not need this intermediate graphics layer. It wasn't a win for Apple; the Mac-only game market is tiny. [1] https://en.wikipedia.o…

The Mac-only gaming market is tiny but the iOS market is huge.

Re: Meta releases Intermediate Graphics Library

#199

Earlier quoted context omitted.

If I take a picture of a Mickey Mouse(TM) figurine - I own the copyright to the photo. Disney will retain copyright to their model, but that doesn't mean they own the result of my work, even if its derivative.

Interestingly enough, the copyright on the 1928 movie “Steamboat Willie” – the short film that introduced the world to Mickey Mouse – will expire in 2024. That means the Steamboat-Willie-version of Mickey Mouse will enter the public domain. TM != Copyright, but still interesting.

I remember when congress extended the copyright for Disney. The extension date seemed so far out as to be unacheivable…

Re: Meta releases Intermediate Graphics Library

#200

It's a nice project, but isn't the majority of the problem it "resolves" already solved by Vulkan? I was under an impression Vulkan runs on everything. However I only used Vulkan (with ncnn) for AI. I don't know how tedious it might be to use it for graphics directly.

> I was under an impression Vulkan runs on everything. Sadly, that's not the case. For game consoles, neither Xbox nor PlayStation support Vulkan. iOS and macOS have their own Metal API (because of course they got to have their own thing). So, with just a Vulkan backend, you can only target Windows, Linux, Android, and Nintendo Switch natively. Translation layers like MoltenVK may help though. It's still unclear whet…

Switch currently supports Vulkan but could drop it?
Post reply on HN