1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Fix gltf / glb loader oversights

- Avoid an unnecessary copy
- Reject models requiring extensions

Co-authored-by: DS <ds.desour@proton.me>
This commit is contained in:
Lars Mueller 2024-10-08 16:43:45 +02:00 committed by Lars Müller
parent 521e678d39
commit 2fee37f31b
2 changed files with 6 additions and 1 deletions

View file

@ -320,6 +320,11 @@ IAnimatedMesh* SelfType::createMesh(io::IReadFile* file)
if (!model.has_value()) { if (!model.has_value()) {
return nullptr; return nullptr;
} }
if (model->extensionsRequired) {
os::Printer::log("glTF loader",
"model requires extensions, but we support none", ELL_ERROR);
return nullptr;
}
if (!(model->buffers.has_value() if (!(model->buffers.has_value()
&& model->bufferViews.has_value() && model->bufferViews.has_value()

View file

@ -98,7 +98,7 @@ private:
public: public:
MeshExtractor(tiniergltf::GlTF &&model, MeshExtractor(tiniergltf::GlTF &&model,
CSkinnedMesh *mesh) noexcept CSkinnedMesh *mesh) noexcept
: m_gltf_model(model), m_irr_model(mesh) {}; : m_gltf_model(std::move(model)), m_irr_model(mesh) {};
/* Gets indices for the given mesh/primitive. /* Gets indices for the given mesh/primitive.
* *