|
@@ -115,7 +115,7 @@ struct SurfaceData {
|
|
|
Array morphs;
|
|
|
};
|
|
|
|
|
|
-MeshInstance *FBXMeshData::create_fbx_mesh(const ImportState &state, const FBXDocParser::MeshGeometry *mesh_geometry, const FBXDocParser::Model *model) {
|
|
|
+MeshInstance *FBXMeshData::create_fbx_mesh(const ImportState &state, const FBXDocParser::MeshGeometry *mesh_geometry, const FBXDocParser::Model *model, bool use_compression) {
|
|
|
|
|
|
// todo: make this just use a uint64_t FBX ID this is a copy of our original materials unfortunately.
|
|
|
const std::vector<const FBXDocParser::Material *> &material_lookup = model->GetMaterials();
|
|
@@ -389,7 +389,8 @@ MeshInstance *FBXMeshData::create_fbx_mesh(const ImportState &state, const FBXDo
|
|
|
mesh->add_surface_from_arrays(
|
|
|
Mesh::PRIMITIVE_TRIANGLES,
|
|
|
surface->surface_tool->commit_to_arrays(),
|
|
|
- surface->morphs);
|
|
|
+ surface->morphs,
|
|
|
+ use_compression ? Mesh::ARRAY_COMPRESS_DEFAULT : 0);
|
|
|
|
|
|
if (surface->material.is_valid()) {
|
|
|
mesh->surface_set_name(in_mesh_surface_id, surface->material->get_name());
|