4#ifndef _SCENEPIC_MESH_INFO_H_
5#define _SCENEPIC_MESH_INFO_H_
27 std::size_t num_vertices,
28 std::size_t num_triangles,
81 std::shared_ptr<MeshInfo>
82 subdivide(
int steps = 1,
bool project_to_limit =
false);
85 VectorBuffer m_position_buffer;
86 VectorBuffer m_normal_buffer;
87 TriangleBuffer m_triangle_buffer;
89 ColorBuffer m_color_buffer;
Container for Mesh creation information.
Definition: mesh_info.h:15
TriangleBufferRef triangle_buffer()
A reference to the triangle buffer containing the triangle vertex indices.
VectorBufferRef normal_buffer()
A reference to the vector buffer containing the vertex normals.
std::shared_ptr< MeshInfo > subdivide(int steps=1, bool project_to_limit=false)
Subdivide this mesh using loop subdivision.
const ConstVectorBufferRef position_buffer() const
A const reference to the vector buffer containing the vertex positions.
VectorBufferRef position_buffer()
A reference to the vector buffer containing the vertex positions.
const ConstUVBufferRef uv_buffer() const
A const reference to the UV buffer containing the per-vertex UV values.
const ConstTriangleBufferRef triangle_buffer() const
A const reference to the triangle buffer containing the triangle vertex indices.
const ConstColorBufferRef color_buffer() const
A const reference to the color buffer containing the per-vertex color values.
ColorBufferRef color_buffer()
A reference to the color buffer containing the per-vertex color values.
const ConstVectorBufferRef normal_buffer() const
A const reference to the vector buffer containing the vertex normals.
bool has_normals() const
Whether the mesh info contains vertex normals.
UVBufferRef uv_buffer()
A reference to the UV buffer containing the per-vertex UV values.
MeshInfo(std::size_t num_vertices, std::size_t num_triangles, bool has_uvs, bool has_normals, bool has_colors)
Constructor.
Definition: audio_track.h:14