bevy
bevy copied to clipboard
Add support for Khronos Material Extensions for glTF 2.0
What problem does this solve or what need does it fill?
Bevy's StandardMaterial supports the same parameters supported by the metallic-roughness material model, as well as the additional parameters from https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#materials. (normal, occlusion, emissive, alphaMode, doubleSided, and unlit)
The "Ratified Khronos Extensions for glTF 2.0" defines 8 more: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos
Specifically, these are:
KHR_materials_clearcoat,
KHR_materials_emissive_strength,
KHR_materials_ior,
KHR_materials_sheen,
KHR_materials_specular,
KHR_materials_transmission,
KHR_materials_variants,
KHR_materials_volume
What solution would you like?
When loading a glTF Mesh, the user could opt-in to certain extensions which would then be available on the material.
See also Autodesk's Standard Surface.
See also: https://projects.blender.org/blender/blender/issues/99447
We already have emissive and bloom, and would like to support KHR_materials_emissive_strength for gltf files. Unfortunately, our current gltf library doesn't support that extension.
Unfortunately, our current gltf library doesn't support that extension.
Someone could resubmit https://github.com/gltf-rs/gltf/pull/350
Adobe has a really nice material model as well!
- https://helpx.adobe.com/dimension/using/standard-materials.html
- https://substance3d.adobe.com/documentation/s3d/files/225969599/225969601/1/1647019577092/Adobe+Standard+Material+-+Technical+Documentation.pdf
- https://renderwonk.com/publications/wp-generalization-adobe/gen-adobe.pdf
https://github.com/gltf-rs/gltf/pull/374 has been merged :)
Also note that #8015 will cover some more of these properties
OpenPBR has been released! https://github.com/AcademySoftwareFoundation/OpenPBR, https://academysoftwarefoundation.github.io/OpenPBR/