Just based on the screenshot, I am not sure that I would even bother to dig too deeply into the library.
Just based on the screenshot, I am not sure that I would even bother to dig too deeply into the library.
Adding any PBR materials as samples would have been the wrong choice, since those are not hardware or graphics api dependent, and are always for the implementor to implment by themselves.
You don't want a graphics api to look nice at this abstraction level.
You get access to device resources, shader API etc.
Once you get triangles in, it's up to you to make it nice using the shaders you write - materials and GI model of your choice.
That "bistro" image is all PBR materials, represented in glTF. It's supposed to look the same for all standards-compliant glTF renderers, and it pretty much does. I posted the same scene in another renderer above. It's a brightly sunlit scene with no environment shaders, so it looks rather blah. glTF and Vulkan can do more than that, but this is all the test example asked for.
This screenshot is far from current AAA games, but there is no way to render such a scene in a game made for 2000 hardware.
https://www.jmeiners.com/pre-rendered-backgrounds/img/ff7.jp...
and the image in the article about Meta's library:
https://www.khronos.org/assets/uploads/blogs/2023-july-blog-...
If FF7 were rendered at the same resolution, I think it would be comparable. Here's an FF7 AI upscale mod for reference:
https://www.resetera.com/threads/a-full-high-res-ai-upscale-...
https://youtu.be/j-Iykz0gb7Q (video uploaded 2006)
I guess, to make a poor analogy, your comment is sort of like looking at a still frame of a poorly shot movie and complaining that the codec is shit.
this is made for people building rendering engines on top of. if you are the software engineer with the knowledge necessary to do that, the screenshot is probably not going to influence you, because you understand what this is for. if you aren't, why should they be marketing to you with eye candy?
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] Here's the source code for that example.[2] Rend3 is a level above WGPU; it deals with memory management and synchronization, so you just create objects, materials, transforms, and textures, then let the renderer do its thing. Rust handles the object management via RAII - delete the object, and it drops out of the scene.
Looking at Meta's examples, there are too many platform-specific #ifdef lines. More than you need with WGPU. Probably because WGPU is usually used with something like Winit, which abstracts over different window systems.
We'll have to wait for user reports about performance. Meta didn't show any video. Here's a test video of mine using Rend3/WGPU on a town scene comparable to the "bistro" demo.[3] This is a speed run, to test dynamic texture loading and unloading while rendering. The WGPU people are still working through lock conflicts in that area. The idea with Vulkan land is that you should be able to load content while rendering is in progress. For that to be useful, all the layers above Vulkan also have to have their locking problems hammered out. Most open source game engines don't do that yet. Unreal Engine and Unity do, which is why you pay for them for your AAA title.
[1] https://raw.githubusercontent.com/BVE-Reborn/rend3/trunk/exa...
[2] https://github.com/BVE-Reborn/rend3/blob/trunk/examples/scen...
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
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.
At least it is not a teapot.
Well good news, it's not a 3d engine at all! It's a nice common API to cover all the existing graphics APIs.
Go watch nvidia’s demo of their lighting and scene modification/remastering tool.