primitives.h 1002 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "mesh.h"
  3. #include <memory>
  4. namespace Render::GL {
  5. inline constexpr int k_default_radial_segments = 32;
  6. inline constexpr int k_default_latitude_segments = 16;
  7. inline constexpr int k_default_capsule_height_segments = 1;
  8. inline constexpr int k_default_torso_height_segments = 8;
  9. auto get_unit_cylinder(int radial_segments = k_default_radial_segments)
  10. -> Mesh *;
  11. auto get_unit_cube() -> Mesh *;
  12. auto get_unit_sphere(int lat_segments = k_default_latitude_segments,
  13. int lon_segments = k_default_radial_segments) -> Mesh *;
  14. auto get_unit_cone(int radial_segments = k_default_radial_segments) -> Mesh *;
  15. auto get_unit_capsule(int radial_segments = k_default_radial_segments,
  16. int height_segments = k_default_capsule_height_segments)
  17. -> Mesh *;
  18. auto get_unit_torso(int radial_segments = k_default_radial_segments,
  19. int height_segments = k_default_torso_height_segments)
  20. -> Mesh *;
  21. } // namespace Render::GL