23 MeshData(
const std::vector<Vertex>& vertices,
const std::vector<uint32_t>& indices,
const std::vector<TexturePtr>& textures)
44 Mesh(
const std::vector<Vertex>& vertices,
const std::vector<uint32_t>& indices,
const std::vector<std::shared_ptr<Texture>>& textures);
47 static Mesh*
Create(std::vector<Vertex>& vertices, std::vector<uint32_t>& indices, std::vector<std::shared_ptr<Texture>>& textures);
50 std::shared_ptr<IndexBuffer>
GetIndexBuffer()
const {
return m_IndexBuffer; }
51 std::shared_ptr<VertexArray>
GetVertexArray()
const {
return m_VertexArray; }
71 std::shared_ptr<VertexArray> m_VertexArray;
72 std::shared_ptr<VertexBuffer> m_VertexBuffer;
73 std::shared_ptr<IndexBuffer> m_IndexBuffer;
std::shared_ptr< VertexArray > GetVertexArray() const
static Mesh CombineMeshes(std::vector< Mesh > &meshes)
static Mesh GeneratePlane(float size, int resolution)
static Mesh * Create(const MeshData &data)
static Mesh GenerateCubephere(float radius, int subdivision)
const std::vector< std::shared_ptr< Texture > > & GetTextures() const
static Mesh GenerateUVSphere(float radius, int latitudes, int longitudes)
static Mesh GenerateQuad(float size=1.0f)
static Mesh GenerateCube(float size=1.0f)
std::shared_ptr< VertexBuffer > GetVertexBuffer() const
std::shared_ptr< IndexBuffer > GetIndexBuffer() const
std::vector< uint32_t > Indices
std::vector< Vertex > Vertices
std::vector< TexturePtr > Textures
MeshData(const std::vector< Vertex > &vertices, const std::vector< uint32_t > &indices, const std::vector< TexturePtr > &textures)