Live data from Hacker News

Meta releases Intermediate Graphics Library

khronos.org

81–90 of 221 posts

Re: Meta releases Intermediate Graphics Library

#82
post #66

I understand why WebGPU defined a new API since it's primarily intended for web browsers, however, in this case why create a new API? Why not implement the OpenGL API? Essentially this could have been an OpenGL wrapper over the lower-level API's, e.g. over Vulkan, Metal, and Direct3D 12. OpenGL has the advantage of being an open standard. Did Meta need custom behavior? If so, OpenGL already has a well-defined extensi…

Abstractions over the low level apis (opengl, directx, vulkan, metal) have gotten a bit popular in recent years. I think some driving forces behind it are inconsistent support of some apis on some platforms (i.e. opengl on macos) and maybe also a desire to support some of the newer apis (Vulkan or dx12) without going all in due to their complexity/verbosity.

I've been playing with wgpu-rs, bgfx, and a couple others in the past and they work pretty well for the most part. At this point I think I'd still rather choose just Vulkan for a new project though.

Re: Meta releases Intermediate Graphics Library

#83
post #53
post #16

Earlier quoted context omitted.

the screenshot could/should probably be better, but that doesn't mean the library is incapable of producing higher quality renders. I haven't dug in, but I am assuming this is basically Meta's WGPU. if so, these sorts of libraries are low level libraries abstracting different platforms that can be used to build high quality render pipelines on top of that can run anywhere. you could build an N64 quality rendering pip…

It does seem to be Meta's answer to WGPU. The picture looks like they didn't have automatic tonemapping, the rendering equivalent of auto exposure control. So the picture is too dim. I brought it into a photo editor, saw that the top third of the intensity space was empty, used "Levels", and it looked much better. That's a standard glTF test scene, called "bistro". Here's the same scene, rendered with Rend3/WGPU.[1]…

Why does Meta need an answer to WGPU? How does the existence of WGPU create problems for them, and how does this new thing solve problems that anyone else has with WGPU?

This just feels like sour grapes about the fact that WGPU excluded Khronos when it was developed, so Khronos wants their own, with maybe a bit of promotion-driven development on Meta's part.

Re: Meta releases Intermediate Graphics Library

#84
post #3

Not trying to shit on anyone, but that screenshot reminds me of 1990s/early 2000's games. I'm sure there has been a ton of work that went into it, but having some better textures or highlighting the usability would go a long way. Just based on the screenshot, I am not sure that I would even bother to dig too deeply into the library.

Whether you like the textures has nothing to do with whether the graphics library is any good.

Sure but it has everything to do with whether I can easily tell that it's good.

Re: Meta releases Intermediate Graphics Library

#86
post #65
post #56

Earlier quoted context omitted.

Those seem to be mainly platform-specific initialization things, like creating a window and rendering context. That's pretty normal for these types of rendering libraries which don't include a full blown portable windowing API. If you use something like SDL, you'll probably be able to minimize the platform-specific stuff.

Even outside of platform-specific stuff, I'm seeing it all over the core rendering code. I'm not impressed. https://github.com/facebook/igl/blob/main/samples/desktop/Ti...

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 that explain/justify these things.

Re: Meta releases Intermediate Graphics Library

#87
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?

Probably. The OpenGL ES support also seems to use Google's Angle, which can target DirectX.

Re: Meta releases Intermediate Graphics Library

#89
post #3

Not trying to shit on anyone, but that screenshot reminds me of 1990s/early 2000's games. I'm sure there has been a ton of work that went into it, but having some better textures or highlighting the usability would go a long way. Just based on the screenshot, I am not sure that I would even bother to dig too deeply into the library.

The textures are ok, but the lighting is super flat. People are used to games making at least some attempt at global illumination, whether it's prebaked light maps, or faking it with SSAO, or anything to not have surfaces be a totally consistent brightness across the whole thing.

Your rendering API is not going to implement GI for you, and having it in a sample app is kind of misleading, that's not really the point. It's probably a mistake to include that as a sample scene as it creates the impression that it's trying to be a game engine. A few material spheres and test meshes would probably be a better example.

Re: Meta releases Intermediate Graphics Library

#90
post #58

How does this compare to Google's filament? [0] [0]: https://github.com/google/filament

Filement is full blown renderer (with shadows, advanced materials, effects like transparency, postprocessing) with platform abstractions. IGL has only the platform abstractions and the rest is left as an exercise for the reader.
Post reply on HN