Meta releases Intermediate Graphics Library
191–200 of 221 posts
Re: Meta releases Intermediate Graphics Library
#192Any 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?
Re: Meta releases Intermediate Graphics Library
#193It'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.
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
#194Any 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?
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
#195260 LoC Vulkan / IGL / SFML example: https://github.com/eXpl0it3r/SFML-IGL
Re: Meta releases Intermediate Graphics Library
#196Earlier 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…
GPU programming is insane and the devs have stockholm syndrome.
Re: Meta releases Intermediate Graphics Library
#197If 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?
Re: Meta releases Intermediate Graphics Library
#198Is 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…
Re: Meta releases Intermediate Graphics Library
#199Earlier 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.
Re: Meta releases Intermediate Graphics Library
#200It'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…