You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-03 16:55:53 +00:00
Respect 'mesh compression' editor import option in Assimp (ie. FBX) and glTF importers
This commit is contained in:
@@ -952,6 +952,9 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
|
||||
return OK;
|
||||
}
|
||||
|
||||
bool compress_vert_data = state.import_flags & IMPORT_USE_COMPRESSION;
|
||||
uint32_t mesh_flags = compress_vert_data ? Mesh::ARRAY_COMPRESS_DEFAULT : 0;
|
||||
|
||||
Array meshes = state.json["meshes"];
|
||||
for (GLTFMeshIndex i = 0; i < meshes.size(); i++) {
|
||||
print_verbose("glTF: Parsing mesh: " + itos(i));
|
||||
@@ -1206,7 +1209,7 @@ Error EditorSceneImporterGLTF::_parse_meshes(GLTFState &state) {
|
||||
}
|
||||
|
||||
//just add it
|
||||
mesh.mesh->add_surface_from_arrays(primitive, array, morphs);
|
||||
mesh.mesh->add_surface_from_arrays(primitive, array, morphs, Dictionary(), mesh_flags);
|
||||
|
||||
if (p.has("material")) {
|
||||
const int material = p["material"];
|
||||
@@ -2951,6 +2954,7 @@ Node *EditorSceneImporterGLTF::import_scene(const String &p_path, uint32_t p_fla
|
||||
|
||||
String version = asset["version"];
|
||||
|
||||
state.import_flags = p_flags;
|
||||
state.major_version = version.get_slice(".", 0).to_int();
|
||||
state.minor_version = version.get_slice(".", 1).to_int();
|
||||
state.use_named_skin_binds = p_flags & IMPORT_USE_NAMED_SKIN_BINDS;
|
||||
|
||||
@@ -279,6 +279,9 @@ class EditorSceneImporterGLTF : public EditorSceneImporter {
|
||||
|
||||
Map<GLTFNodeIndex, Node *> scene_nodes;
|
||||
|
||||
// EditorSceneImporter::ImportFlags
|
||||
uint32_t import_flags;
|
||||
|
||||
~GLTFState() {
|
||||
for (int i = 0; i < nodes.size(); i++) {
|
||||
memdelete(nodes[i]);
|
||||
|
||||
Reference in New Issue
Block a user