24const char *
get_fbx_name(
const ufbx_string &
name,
const char *def =
"Untitled");
56 return this->bone_to_bind_matrix.
lookup_default(node, node->geometry_to_world);
60 const ufbx_matrix &world_to_arm)
const
63 ufbx_matrix parent_inv_mtx;
64 if (bone_node->parent !=
nullptr && !bone_node->parent->is_root) {
66 parent_inv_mtx = ufbx_matrix_invert(&parent_mtx);
69 parent_inv_mtx = world_to_arm;
71 res = ufbx_matrix_mul(&parent_inv_mtx, &res);
83 const ufbx_node &node,
84 const ufbx_matrix &local_bind_inv_matrix);
90extern FILE *g_debug_file;
92inline double adjf(
double f)
94 if (
fabs(f) < 0.0005) {
100void print_matrix(
const ufbx_matrix &m);
Value lookup_default(const Key &key, const Value &default_value) const
ccl_device_inline float2 fabs(const float2 a)
void ufbx_matrix_to_obj(const ufbx_matrix &mtx, Object *obj)
const char * get_fbx_name(const ufbx_string &name, const char *def)
void read_custom_properties(const ufbx_props &props, ID &id, bool enums_as_strings)
void node_matrix_to_obj(const ufbx_node *node, Object *obj, const FbxElementMapping &mapping)
void matrix_to_m44(const ufbx_matrix &src, float dst[4][4])
ufbx_matrix calc_bone_pose_matrix(const ufbx_transform &local_xform, const ufbx_node &node, const ufbx_matrix &local_bind_inv_matrix)
ufbx_matrix get_node_bind_matrix(const ufbx_node *node) const
Map< const ufbx_node *, ufbx_real > bone_to_length
Map< const Object *, ufbx_matrix > armature_world_to_arm_node_matrix
Map< const ufbx_node *, ufbx_matrix > bone_to_bind_matrix
Set< const ufbx_node * > bone_is_skinned
Map< const ufbx_node *, Object * > bone_to_armature
Map< const ufbx_material *, Material * > mat_to_material
Map< const ufbx_node *, std::string > node_to_name
Set< const ufbx_node * > node_is_blender_bone
Map< const Object *, ufbx_matrix > armature_world_to_arm_pose_matrix
ufbx_matrix calc_local_bind_matrix(const ufbx_node *bone_node, const ufbx_matrix &world_to_arm) const
Map< const ufbx_element *, Object * > el_to_object
ufbx_matrix global_conv_matrix
Map< const ufbx_element *, Key * > el_to_shape_key
Set< Object * > imported_objects