summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-07-14 18:50:08 +0200
committerYuri Sizov <yuris@humnom.net>2023-07-14 18:50:08 +0200
commitac16c2696e99cec92febb461e6e69f61a3891c9e (patch)
tree0568266236a70b6b4a3f88fc15790b7efc3521ec
parentd087eb7faa358e33783ee4ceac2b17874a395b27 (diff)
parenta875baa218460791d3679e5af452fe1e2f7bb48b (diff)
downloadredot-engine-ac16c2696e99cec92febb461e6e69f61a3891c9e.tar.gz
Merge pull request #79421 from wojtekpil/gltf_emission_strength_export
Add `KHR_materials_emissive_strength` extension support for exporting GLTFs
-rw-r--r--modules/gltf/gltf_document.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/gltf/gltf_document.cpp b/modules/gltf/gltf_document.cpp
index fd786ba118..301a334f14 100644
--- a/modules/gltf/gltf_document.cpp
+++ b/modules/gltf/gltf_document.cpp
@@ -3769,6 +3769,12 @@ Error GLTFDocument::_serialize_materials(Ref<GLTFState> p_state) {
extensions["KHR_materials_unlit"] = mat_unlit;
p_state->add_used_extension("KHR_materials_unlit");
}
+ if (base_material->get_feature(BaseMaterial3D::FEATURE_EMISSION) && !Math::is_equal_approx(base_material->get_emission_energy_multiplier(), 1.0f)) {
+ Dictionary mat_emissive_strength;
+ mat_emissive_strength["emissiveStrength"] = base_material->get_emission_energy_multiplier();
+ extensions["KHR_materials_emissive_strength"] = mat_emissive_strength;
+ p_state->add_used_extension("KHR_materials_emissive_strength");
+ }
d["extensions"] = extensions;
materials.push_back(d);