MOS
mesh.hpp
1 #pragma once
2 
3 #include <mos/gfx/mesh.hpp>
4 #include <mos/gpu/resource.hpp>
5 
6 namespace mos::gl {
7 class Renderer;
8 }
9 
10 namespace mos::gpu {
11 
12 class Mesh final : public Resource {
13  friend class Model;
14  friend class mos::gl::Renderer;
15 public:
16  Mesh();
17  auto centroid() const -> glm::vec3;
18  auto radius() const -> float;
19  auto num_indices() const -> int;
20 
21 private:
22 
23  Mesh(const mos::gfx::Mesh& mesh);
24  Mesh(const mos::gfx::Shared_mesh &shared_mesh);
25  glm::vec3 centroid_{0.0f};
26  float radius_{0.0f};
27  int num_indices_{0};
28 };
29 }
Definition: resource.hpp:9
Definition: model.hpp:20
Geometric data description, vertices and indices.
Definition: mesh.hpp:22
Definition: array_buffers.hpp:5
Render geometry shapes with OpenGL.
Definition: renderer.hpp:40
Definition: material.hpp:7
Definition: mesh.hpp:12