Utility/Mesh: Add Build overloads
This commit is contained in:
parent
3edffa8399
commit
b0b9c61558
|
|
@ -104,7 +104,7 @@ namespace Nz
|
||||||
void AddSubMesh(const std::string& identifier, std::shared_ptr<SubMesh> subMesh);
|
void AddSubMesh(const std::string& identifier, std::shared_ptr<SubMesh> subMesh);
|
||||||
|
|
||||||
std::shared_ptr<SubMesh> BuildSubMesh(const Primitive& primitive, const MeshParams& params = MeshParams());
|
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 CreateSkeletal(std::size_t jointCount);
|
||||||
bool CreateStatic();
|
bool CreateStatic();
|
||||||
|
|
@ -156,6 +156,8 @@ namespace Nz
|
||||||
Mesh& operator=(Mesh&&) = delete;
|
Mesh& operator=(Mesh&&) = delete;
|
||||||
|
|
||||||
static inline std::shared_ptr<Mesh> Build(std::shared_ptr<StaticMesh> staticMesh);
|
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> 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());
|
static std::shared_ptr<Mesh> LoadFromMemory(const void* data, std::size_t size, const MeshParams& params = MeshParams());
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,24 @@ namespace Nz
|
||||||
|
|
||||||
return mesh;
|
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>
|
#include <Nazara/Utility/DebugOff.hpp>
|
||||||
|
|
|
||||||
|
|
@ -249,10 +249,10 @@ namespace Nz
|
||||||
return subMesh;
|
return subMesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mesh::BuildSubMeshes(const PrimitiveList& list, const MeshParams& params)
|
void Mesh::BuildSubMeshes(const PrimitiveList& primitiveList, const MeshParams& params)
|
||||||
{
|
{
|
||||||
for (std::size_t i = 0; i < list.GetSize(); ++i)
|
for (std::size_t i = 0; i < primitiveList.GetSize(); ++i)
|
||||||
BuildSubMesh(list.GetPrimitive(i), params);
|
BuildSubMesh(primitiveList.GetPrimitive(i), params);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Mesh::CreateSkeletal(std::size_t jointCount)
|
bool Mesh::CreateSkeletal(std::size_t jointCount)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue