-
Notifications
You must be signed in to change notification settings - Fork 12
[WIP] OMI_materials_blend #240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Great comparison table! I think the part about blending is a bit misleading, and maybe there need to be additional clarifications for transmission:
"Blend" does not actually simulate glass materials; it is a magical opacity property which makes objects disappear into thin air. "Transmission" on the other hand simulates glass materials –
|
375174e to
d472228
Compare
|
@hybridherbst Thanks, good catch! I actually took that from the PlayCanvas docs, so I guess their docs are wrong. I've modified the description of BLEND to simply match what Khronos has for glTF. |
|
Does it make sense to add new |
|
@mikeskydev Either is allowed per the glTF material schema (one possible value is {
"alphaMode": "ADD" // Directly setting the value.
}However, if the only option was to use the existing {
"alphaMode": "BLEND", // Fallback.
"extensions": {
"OMI_materials_blend": {
"alphaMode": "ADD" // Override when clients support OMI_materials_blend.
}
}
}I made a quick implementation in Godot and it can handle importing both of these cases: omigroup/omi-godot#13 |
9b1b390 to
96a4959
Compare
|
I created this a few years back, when I was developing for the Wii. I wonder if this extension could be extended to include the full source-destination matrix? As for why someone would want these methods in glTF… they are helpful when creating effects like water, fire, spell-casting animations, UI elements, decals , etc. |
|
Big +1 from the 2D / Spine-style side. This adds the blend modes artists actually need for layered pipelines: Today we patch this per-engine after import; having a portable glTF extension closes that gap. This will also make a clean Blender → glTF path viable without relying on legacy add-ons tied to old Blender APIs. Thanks for pushing this! -S |
96a4959 to
150cef8
Compare

This is a work-in-progress extension to add additional blending modes to glTF materials.
Preview: https://github.com/aaronfranke/gltf-extensions/tree/OMI_materials_blend/extensions/2.0/OMI_materials_blend
Godot implementation: omigroup/omi-godot#13
See icosa-mirror/UnityGLTF#1, KhronosGroup/glTF#1189, and KhronosGroup/glTF#1302 for the existing discussions.
(also, I deleted duplicate
### JSON Schemasections in the audio extensions)