2#ifndef LIBSBX_SCENES_COMPONENTS_SKINNED_MESH_HPP_
3#define LIBSBX_SCENES_COMPONENTS_SKINNED_MESH_HPP_
9#include <libsbx/math/uuid.hpp>
11#include <libsbx/graphics/resource_storage.hpp>
13#include <libsbx/graphics/images/image2d.hpp>
15#include <libsbx/scenes/node.hpp>
17#include <libsbx/scenes/components/static_mesh.hpp>
19namespace sbx::scenes {
22 float current_time = 0.0f;
38 _submeshes{submeshes} { }
42 _submeshes{{0, material}} { }
44 auto mesh_id() const noexcept -> math::uuid {
48 auto submeshes() const noexcept -> const std::vector<submesh>& {
52 auto submeshes() noexcept -> std::vector<submesh>& {
56 auto set_nodes(std::vector<node>&& nodes) ->
void {
57 _nodes = std::move(nodes);
60 auto nodes() const -> const std::vector<
node>& {
64 auto find_node(
const std::uint32_t index)
const ->
node {
65 return _nodes.at(index);
68 auto set_pose(std::vector<math::matrix4x4>&& pose) ->
void {
69 _pose = std::move(pose);
72 auto pose() const -> const std::vector<math::matrix4x4>& {
79 std::vector<submesh> _submeshes;
81 std::vector<node> _nodes;
82 std::vector<math::matrix4x4> _pose;
Definition: skinned_mesh.hpp:27
RGBA color representation and utilities.
Definition: skinned_mesh.hpp:21
Definition: skinned_mesh.hpp:31