mirror of
https://github.com/godotengine/godot.git
synced 2024-11-10 06:03:09 +00:00
ufbx: Update to 0.14.3
This commit is contained in:
parent
da5f39889f
commit
e3ffcb3289
2
thirdparty/README.md
vendored
2
thirdparty/README.md
vendored
@ -894,7 +894,7 @@ number and run the script.
|
|||||||
## ufbx
|
## ufbx
|
||||||
|
|
||||||
- Upstream: https://github.com/ufbx/ufbx
|
- Upstream: https://github.com/ufbx/ufbx
|
||||||
- Version: 0.14.0 (80ff790ab36507b99ec7e4ef55b9cfb076ce821b, 2024)
|
- Version: 0.14.3 (19bdb7e7ef02eb914d5e7211a3685f50ee6d27e3, 2024)
|
||||||
- License: MIT
|
- License: MIT
|
||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
|
12
thirdparty/ufbx/ufbx.c
vendored
12
thirdparty/ufbx/ufbx.c
vendored
@ -570,7 +570,7 @@ ufbx_static_assert(sizeof_f64, sizeof(double) == 8);
|
|||||||
|
|
||||||
// -- Version
|
// -- Version
|
||||||
|
|
||||||
#define UFBX_SOURCE_VERSION ufbx_pack_version(0, 14, 0)
|
#define UFBX_SOURCE_VERSION ufbx_pack_version(0, 14, 3)
|
||||||
ufbx_abi_data_def const uint32_t ufbx_source_version = UFBX_SOURCE_VERSION;
|
ufbx_abi_data_def const uint32_t ufbx_source_version = UFBX_SOURCE_VERSION;
|
||||||
|
|
||||||
ufbx_static_assert(source_header_version, UFBX_SOURCE_VERSION/1000u == UFBX_HEADER_VERSION/1000u);
|
ufbx_static_assert(source_header_version, UFBX_SOURCE_VERSION/1000u == UFBX_HEADER_VERSION/1000u);
|
||||||
@ -7257,8 +7257,8 @@ typedef enum {
|
|||||||
} ufbxi_parse_state;
|
} ufbxi_parse_state;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
UFBXI_ARRAY_FLAG_RESULT = 0x1, // < Alloacte the array from the result buffer
|
UFBXI_ARRAY_FLAG_RESULT = 0x1, // < Allocate the array from the result buffer
|
||||||
UFBXI_ARRAY_FLAG_TMP_BUF = 0x2, // < Alloacte the array from the result buffer
|
UFBXI_ARRAY_FLAG_TMP_BUF = 0x2, // < Allocate the array from the result buffer
|
||||||
UFBXI_ARRAY_FLAG_PAD_BEGIN = 0x4, // < Pad the begin of the array with 4 zero elements to guard from invalid -1 index accesses
|
UFBXI_ARRAY_FLAG_PAD_BEGIN = 0x4, // < Pad the begin of the array with 4 zero elements to guard from invalid -1 index accesses
|
||||||
UFBXI_ARRAY_FLAG_ACCURATE_F32 = 0x8, // < Must be parsed as bit-accurate 32-bit floats
|
UFBXI_ARRAY_FLAG_ACCURATE_F32 = 0x8, // < Must be parsed as bit-accurate 32-bit floats
|
||||||
} ufbxi_array_flags;
|
} ufbxi_array_flags;
|
||||||
@ -21772,6 +21772,10 @@ ufbxi_noinline static ufbx_quat ufbxi_get_rotation(const ufbx_props *props, ufbx
|
|||||||
ufbxi_mul_rotate_quat(&t, node->adjust_pre_rotation);
|
ufbxi_mul_rotate_quat(&t, node->adjust_pre_rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (node->adjust_mirror_axis) {
|
||||||
|
ufbxi_mirror_rotation(&t.rotation, node->adjust_mirror_axis);
|
||||||
|
}
|
||||||
|
|
||||||
return t.rotation;
|
return t.rotation;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24710,7 +24714,7 @@ static ufbxi_noinline const ufbx_prop *ufbxi_next_prop_slow(ufbxi_prop_iter *ite
|
|||||||
const ufbx_prop_override *over = iter->over;
|
const ufbx_prop_override *over = iter->over;
|
||||||
if (prop == iter->prop_end && over == iter->over_end) return NULL;
|
if (prop == iter->prop_end && over == iter->over_end) return NULL;
|
||||||
|
|
||||||
// We can use `UINT32_MAX` as a termianting key (aka prefix) as prop names must
|
// We can use `UINT32_MAX` as a terminating key (aka prefix) as prop names must
|
||||||
// be valid UTF-8 and the byte sequence "\xff\xff\xff\xff" is not valid.
|
// be valid UTF-8 and the byte sequence "\xff\xff\xff\xff" is not valid.
|
||||||
uint32_t prop_key = prop != iter->prop_end ? prop->_internal_key : UINT32_MAX;
|
uint32_t prop_key = prop != iter->prop_end ? prop->_internal_key : UINT32_MAX;
|
||||||
uint32_t over_key = over != iter->over_end ? over->_internal_key : UINT32_MAX;
|
uint32_t over_key = over != iter->over_end ? over->_internal_key : UINT32_MAX;
|
||||||
|
6
thirdparty/ufbx/ufbx.h
vendored
6
thirdparty/ufbx/ufbx.h
vendored
@ -266,7 +266,7 @@ struct ufbx_converter { };
|
|||||||
// `ufbx_source_version` contains the version of the corresponding source file.
|
// `ufbx_source_version` contains the version of the corresponding source file.
|
||||||
// HINT: The version can be compared numerically to the result of `ufbx_pack_version()`,
|
// HINT: The version can be compared numerically to the result of `ufbx_pack_version()`,
|
||||||
// for example `#if UFBX_VERSION >= ufbx_pack_version(0, 12, 0)`.
|
// for example `#if UFBX_VERSION >= ufbx_pack_version(0, 12, 0)`.
|
||||||
#define UFBX_HEADER_VERSION ufbx_pack_version(0, 14, 0)
|
#define UFBX_HEADER_VERSION ufbx_pack_version(0, 14, 3)
|
||||||
#define UFBX_VERSION UFBX_HEADER_VERSION
|
#define UFBX_VERSION UFBX_HEADER_VERSION
|
||||||
|
|
||||||
// -- Basic types
|
// -- Basic types
|
||||||
@ -2673,7 +2673,7 @@ UFBX_ENUM_TYPE(ufbx_texture_type, UFBX_TEXTURE_TYPE, UFBX_TEXTURE_SHADER);
|
|||||||
|
|
||||||
// Blend modes to combine layered textures with, compatible with common blend
|
// Blend modes to combine layered textures with, compatible with common blend
|
||||||
// mode definitions in many art programs. Simpler blend modes have equations
|
// mode definitions in many art programs. Simpler blend modes have equations
|
||||||
// specified below where `src` is the layer to compososite over `dst`.
|
// specified below where `src` is the layer to composite over `dst`.
|
||||||
// See eg. https://www.w3.org/TR/2013/WD-compositing-1-20131010/#blendingseparable
|
// See eg. https://www.w3.org/TR/2013/WD-compositing-1-20131010/#blendingseparable
|
||||||
typedef enum ufbx_blend_mode UFBX_ENUM_REPR {
|
typedef enum ufbx_blend_mode UFBX_ENUM_REPR {
|
||||||
UFBX_BLEND_TRANSLUCENT, // < `src` effects result alpha
|
UFBX_BLEND_TRANSLUCENT, // < `src` effects result alpha
|
||||||
@ -5286,6 +5286,8 @@ typedef enum ufbx_transform_flags UFBX_FLAG_REPR {
|
|||||||
} ufbx_transform_flags;
|
} ufbx_transform_flags;
|
||||||
|
|
||||||
// Evaluate the animated transform of a node given a time.
|
// Evaluate the animated transform of a node given a time.
|
||||||
|
// The returned transform is the local transform of the node (ie. relative to the parent),
|
||||||
|
// comparable to `ufbx_node.local_transform`.
|
||||||
ufbx_abi ufbx_transform ufbx_evaluate_transform(const ufbx_anim *anim, const ufbx_node *node, double time);
|
ufbx_abi ufbx_transform ufbx_evaluate_transform(const ufbx_anim *anim, const ufbx_node *node, double time);
|
||||||
ufbx_abi ufbx_transform ufbx_evaluate_transform_flags(const ufbx_anim *anim, const ufbx_node *node, double time, uint32_t flags);
|
ufbx_abi ufbx_transform ufbx_evaluate_transform_flags(const ufbx_anim *anim, const ufbx_node *node, double time, uint32_t flags);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user