GLTF: Don't write unused light properties

This commit is contained in:
Aaron Franke 2025-01-08 00:33:09 -08:00
parent d19147e09a
commit 01a26c5c8b
No known key found for this signature in database
GPG key ID: 40A1750B977E56BF

View file

@ -221,21 +221,27 @@ Ref<GLTFLight> GLTFLight::from_dictionary(const Dictionary p_dictionary) {
Dictionary GLTFLight::to_dictionary() const {
Dictionary d;
Array color_array;
color_array.resize(3);
color_array[0] = color.r;
color_array[1] = color.g;
color_array[2] = color.b;
d["color"] = color_array;
d["type"] = light_type;
if (color != Color(1.0f, 1.0f, 1.0f)) {
Array color_array;
color_array.resize(3);
color_array[0] = color.r;
color_array[1] = color.g;
color_array[2] = color.b;
d["color"] = color_array;
}
if (intensity != 1.0f) {
d["intensity"] = intensity;
}
if (light_type != "directional" && range != INFINITY) {
d["range"] = range;
}
if (light_type == "spot") {
Dictionary spot_dict;
spot_dict["innerConeAngle"] = inner_cone_angle;
spot_dict["outerConeAngle"] = outer_cone_angle;
d["spot"] = spot_dict;
}
d["intensity"] = intensity;
d["range"] = range;
d["type"] = light_type;
return d;
}