3 ms·
They gives these reasons at the Github link for its existence... --- Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU. It
by MegaDeKay 3y ago
They gives these reasons at the Github link for its existence...
---
Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU. It encapsulates common GPU functionality with a low-level cross-platform interface. IGL is designed to support multiple backends implemented on top of various graphics APIs (e.g. OpenGL, Metal and Vulkan) with a common interface.
There are a lot of good options for abstracting GPU API's; each making different trade-offs. We designed IGL around the following priorities:
- Low-level, forward-looking API. IGL embraces modern abstractions (command buffers, state containers, bindless, etc) and is designed to give more control than OpenGL's state machine API. As a result, IGL can have leaner backends for modern API's (e.g. Metal, Vulkan).
- Minimal overhead for C++. IGL supports new or existing native rendering code without overhead of language interop or the need for other language runtimes.
- Reach + scale in production. IGL has been globally battle-tested for broad device reliability (especially the long-tail of Android devices as well as Quest 2/3/Pro compatibility for OpenGL/Vulkan) and performance-tuned on our apps.
- skavi 3y agoThe first two points easily apply to WebGPU. Maybe not the last one yet.
- bmitc 3y agoHaving researched WebGPU a little, I'm not seeing anything there that explains why this over WebGPU. As far as I understand, those reasons are identical to those for WebGPU. Can anyone explain?
- jayd16 3y agoIs Android support solid for Dawn/webgpu? Seems like it's marked as work in progress compared to the confident support laid out here.
- adamnemecek 3y agoRight but if they needed that, they could have just contributed android support to wgpu.
- swatcoder 3y agoMeta has bet the farm on their VR/AR/XR platform and smartly wants control over the tooling that developers will use to target it. The last thing they want is for some Quest innovation to be hamstrung waiting for a standard body to approve support for some new feature or for a third-party open source maintainer to incorporate some fix/addition/compatibility PR. Owning a project like this, if they can get developers to use it, is a huge business security asset and competitive advantage for them. That's why this exists and why it's being promoted. Whether developers see it as worth using instead of other options is a different question. Meta would probably say the answer to "why" for developers is: "to make sure your project gets the most out of the Quest products (as well as other Android platforms), now and in the future"
- adamnemecek 3y agoThey can’t get users to use it as it provides little over webgpu.
- adamnemecek 3y agoWebGPU goes beyond the web. wgpu is a rust project.