Implement KHR_materials_dispersion
Hi, this commit implements the gltf dispersion extension. Partially fixes https://github.com/google/filament/issues/8307
Dragon Dispersion demonstration:
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
View this failed invocation of the CLA check for more information.
For the most up to date status, view the checks section at the bottom of the pull request.
@Nemi26 also you need to add to the release notes
oh, and also I think you need to add a unit test for that property.
@Nemi26 see my comments above.
@pixelflinger I added the things you mentioned, as well as some tiny fixes (checking that refraction type is solid in order for dispersion to be enabled). I wasn't able to pull out that refraction inner loop code into a separate function in a way that would make it more readable unfortunately.
oops, looks like all builds are broken.
@Nemi26 the dispersion doesn't work with gltf_viewer's -u (ubershader) option; it crashes. FYI.
Do you want to give it a shot at fixing it, or should I revert the change for now?
Also, I do see the effect working with khronos' DragonDispersion test, but not with the DispersionTest.