3#include <Infinity/Types/Core/Data.hpp>
4#include <Infinity/Types/Core/Value.hpp>
5#include <Infinity/Types/Containers/Array.hpp>
6#include <Infinity/Types/Rendering/VertexBuffer.hpp>
7#include <Infinity/Types/Rendering/IndexBuffer.hpp>
8#include <Infinity/Types/Rendering/SubMesh.hpp>
223 Mesh(
size_t nVertices,
size_t n16bitIndices,
size_t nUVs,
size_t nNormals);
230 std::unique_ptr<Core::Base>
clone()
const override;
Dynamic contiguous container for homogeneous elements in the Infinity type system.
Definition Array.hpp:77
Base class for complex data types with memory wrapping and property support.
Definition Data.hpp:49
Container for mesh index data defining vertex connectivity and topology.
Definition IndexBuffer.hpp:89
Complete 3D geometry definition with vertices, indices, and material partitioning.
Definition Mesh.hpp:135
Mesh(size_t nVertices, size_t n16bitIndices, size_t nUVs, size_t nNormals)
Constructs a mesh with pre-allocated buffers.
std::unique_ptr< Core::Base > clone() const override
VertexBuffer vertexBuffer
Vertex attribute data for the mesh.
Definition Mesh.hpp:143
IndexBuffer indexBuffer
Index data defining primitive connectivity.
Definition Mesh.hpp:151
Mesh(const Containers::Array< Math::Vector3 > &vertices, const Containers::Array< uint32_t > &indices, const Containers::Array< Math::Vector2 > &uvs, const Containers::Array< Math::Vector3 > &normals)
Constructs a simple mesh from vertex/index arrays (32-bit indices).
Mesh(const Containers::Array< Math::Vector3 > &vertices, const Containers::Array< uint16_t > &indices, const Containers::Array< Math::Vector2 > &uvs, const Containers::Array< Math::Vector3 > &normals)
Constructs a simple mesh from vertex/index arrays (16-bit indices).
virtual ~Mesh()
Destructor.
Mesh(const VertexBuffer &vertexBuffer, const IndexBuffer &indexBuffer, const Containers::Array< SubMesh > &subMeshes)
Constructs a mesh from pre-built buffers and submeshes.
const Infinity::Types::TypeID & typeId() const override
Gets the TypeID for Mesh.
Mesh()
Default constructor.
Containers::Array< SubMesh > subMeshes
Optional array of submeshes for multi-material rendering.
Definition Mesh.hpp:159
Container for mesh vertex attribute data.
Definition VertexBuffer.hpp:106
Definition IndexBuffer.hpp:9
Runtime type identifier for the Infinity type system.
Definition TypeID.hpp:71