Utility/Mesh: Add Build overloads

This commit is contained in:
SirLynix
2023-03-09 17:51:16 +01:00
parent 3edffa8399
commit b0b9c61558
3 changed files with 24 additions and 4 deletions

View File

@@ -104,7 +104,7 @@ namespace Nz
void AddSubMesh(const std::string& identifier, std::shared_ptr<SubMesh> subMesh);
std::shared_ptr<SubMesh> BuildSubMesh(const Primitive& primitive, const MeshParams& params = MeshParams());
void BuildSubMeshes(const PrimitiveList& list, const MeshParams& params = MeshParams());
void BuildSubMeshes(const PrimitiveList& primitiveList, const MeshParams& params = MeshParams());
bool CreateSkeletal(std::size_t jointCount);
bool CreateStatic();
@@ -156,6 +156,8 @@ namespace Nz
Mesh& operator=(Mesh&&) = delete;
static inline std::shared_ptr<Mesh> Build(std::shared_ptr<StaticMesh> staticMesh);
static inline std::shared_ptr<Mesh> Build(const Primitive& primitive, const MeshParams& params = MeshParams());
static inline std::shared_ptr<Mesh> Build(const PrimitiveList& primitiveList, const MeshParams& params = MeshParams());
static std::shared_ptr<Mesh> LoadFromFile(const std::filesystem::path& filePath, const MeshParams& params = MeshParams());
static std::shared_ptr<Mesh> LoadFromMemory(const void* data, std::size_t size, const MeshParams& params = MeshParams());

View File

@@ -24,6 +24,24 @@ namespace Nz
return mesh;
}
inline std::shared_ptr<Mesh> Build(const Primitive& primitive, const MeshParams& params)
{
std::shared_ptr<Mesh> mesh = std::make_shared<Mesh>();
mesh->CreateStatic();
mesh->BuildSubMesh(primitive, params);
return mesh;
}
inline std::shared_ptr<Mesh> Build(const PrimitiveList& primitiveList, const MeshParams& params)
{
std::shared_ptr<Mesh> mesh = std::make_shared<Mesh>();
mesh->CreateStatic();
mesh->BuildSubMeshes(primitiveList, params);
return mesh;
}
}
#include <Nazara/Utility/DebugOff.hpp>