Support for more glTF material extensions.
Is your feature request related to a problem? Please describe.
Hello, I don't know if Filament is still under active development w.r.t. adding new features or primarily maintenance, but a couple of new glTF extensions dropped recently:
https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_dispersion https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_iridescence https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_diffuse_transmission
These three seem reasonably easy to add (given that they include sample code) and would make Filament a more compliant glTF renderer.
Describe the solution you'd like support for three new glTF material extensions.
Describe alternatives you've considered None
OS and backend not backend specific
Filament is under active development and while we would like to add support for those extensions, it's difficult to prioritize them as no one has been asking for them. We do have a working version of _dispersion and _diffuse_transmission somehwere though.
Filament is under active development and while we would like to add support for those extensions, it's difficult to prioritize them as no one has been asking for them. We do have a working version of
_dispersionand_diffuse_transmissionsomehwere though.
We're also running out of samplers, so some features can't be implemented or would only be supported on FEATURE_LEVEL_3. It's not been a priority.
Could you please provide the available version code branches? We urgently need _dispersion and _diffuse_transmission.
@romainguy
@romainguy say is there a way to get this version by any chance? i mean the one with the dispersion
@DmitriyZagorski-web @NeilHe996 I ended up implementing dispersion myself, it's quite a simple extension.
if dispersion is present, turn etaRI and etaRI into a vec3, use the formula on the gltf spec page to get the 3 ior values, and then when evaluating the refractions, compute 3 rays instead of 1, and add the results per channel to Ft.
I could make a PR maybe
@Nemi26 Appreciate the quick response!! really glad to hear that its pretty simple to implement. If its possible to share the PR i would be more then happy to put my hand on the code 💃 .
thank you!!!! 🥇