Add node & material index to gltf_asset
This commit is contained in:
parent
5f63fb76f5
commit
ab13864021
2 changed files with 9 additions and 0 deletions
|
|
@ -82,6 +82,9 @@ namespace psemek::gfx
|
||||||
std::vector<accessor> accessors;
|
std::vector<accessor> accessors;
|
||||||
std::vector<buffer_view> buffer_views;
|
std::vector<buffer_view> buffer_views;
|
||||||
std::vector<buffer> buffers;
|
std::vector<buffer> buffers;
|
||||||
|
|
||||||
|
std::unordered_map<std::string, std::size_t> node_index;
|
||||||
|
std::unordered_map<std::string, std::size_t> material_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
gltf_asset parse_gltf(io::istream && stream);
|
gltf_asset parse_gltf(io::istream && stream);
|
||||||
|
|
|
||||||
|
|
@ -199,6 +199,12 @@ namespace psemek::gfx
|
||||||
target.uri = buffer["uri"].GetString();
|
target.uri = buffer["uri"].GetString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (std::size_t i = 0; i < result.nodes.size(); ++i)
|
||||||
|
result.node_index[result.nodes[i].name] = i;
|
||||||
|
|
||||||
|
for (std::size_t i = 0; i < result.materials.size(); ++i)
|
||||||
|
result.material_index[result.materials[i].name] = i;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue