Meta releases Intermediate Graphics Library
81–90 of 221 posts
Re: Meta releases Intermediate Graphics Library
#82I 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…
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
#83Earlier 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]…
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
#84Not 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.
Re: Meta releases Intermediate Graphics Library
#85Re: Meta releases Intermediate Graphics Library
#86Earlier 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...
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
#87Any 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
#88Re: Meta releases Intermediate Graphics Library
#89Not 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.
Re: Meta releases Intermediate Graphics Library
#90How does this compare to Google's filament? [0] [0]: https://github.com/google/filament