Also, TIL the Meta Quest 2 is running Android 12L??
Meta releases Intermediate Graphics Library
91–100 of 221 posts
Re: Meta releases Intermediate Graphics Library
#92Earlier quoted context omitted.
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]…
hi John! you know a lot more about this stuff than I do. is it possible they just haven't implemented a full PBR pipeline for this demo/screenshot, or do you think this (the differences in the two screenshots) is more an indication of what would likely be areas for future development?
Here's the same scene in Godot.[1] This was modified a bit, and has accurate values for the lamp illumination. So they are totally washed out by the sun.
And here it is in several other renderers, with a video.[2]
The original scene was in .fbx, from Amazon's "Lumberyard" project. [3] That project started as the Crysis engine, was bought by Amazon, spun off as open source, was renamed Open 3D Engine, and is still getting Github changes, so it's not dead.
There are many open source game engines. Most of them get stuck at "mostly works, not ready for prime time". That's where the problems get hard and fixing them stops being fun.
[1] https://github.com/godotengine/godot/issues/74965
[2] https://www.ronenbekerman.com/orca-amazon-lumberyard-bistro/...
[3] https://developer.nvidia.com/orca/amazon-lumberyard-bistro
Re: Meta releases Intermediate Graphics Library
#93Re: Meta releases Intermediate Graphics Library
#94Earlier quoted context omitted.
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…
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 shader parsing in the backend, but also, you're forcing it on GL 4.6, so... huh? Just use explicit binding in the shader and the binding index APIs.
The render function uses USE_OPENGL_BACKEND to adapt for the -1...1 clip space. Sure, again, glClipControl is more modern than your minspec, but you're already forcing GL 4.6, so WTF. Also, it's not hard to write device_->adjustProjectionMatrixForNativeClipSpace(); that does a matrix mul.
It also makes the shadow render target have a color attachment (wtf? depth-only targets are supported just fine in GLES2/GL3 to my knowledge), and it also... doesn't use an index buffer when rendering? (EDIT: This is because it's using a 32-bit index buffer, which GLES2 doesn't support. But it's a much better idea to split it into multiple 16-bit index buffer draws if required than drop the index buffer entirely... also, you know, shaders have 4.6). I give up trying to understand what's going on. Oh, and despite building the uniformblock mapping table from before, you still have to use glPipelineState->getUniformBlockBindingPoint? What on earth?
This does not impress me.
Re: Meta releases Intermediate Graphics Library
#95what does intermediate graphics library mean?
Re: Meta releases Intermediate Graphics Library
#96They claim to support WebGL as a compile target, it seems like a pretty big missed opportunity that all of their demos don't link to in-browser WebGL running examples!
To be fair, we don't want WebGL anymore, we want WebGPU now =P
Re: Meta releases Intermediate Graphics Library
#97Re: Meta releases Intermediate Graphics Library
#98385 lines for a triangle: https://github.com/facebook/igl/blob/main/samples/desktop/Ti... When you are trying to sell a wrapper you want your hello world example as small as possible not as comprehensive as possible.
Re: Meta releases Intermediate Graphics Library
#99385 lines for a triangle: https://github.com/facebook/igl/blob/main/samples/desktop/Ti... When you are trying to sell a wrapper you want your hello world example as small as possible not as comprehensive as possible.