Unravel Engine C++ Reference
|
Structure describing how a skinned mesh should be bound to any bones that influence its vertices. More...
#include <mesh.h>
Classes | |
struct | bone_influence |
Describes the vertices that are connected to the referenced bone and how much influence it has on them. More... | |
struct | bone_query |
struct | vertex_data |
Contains per-vertex influence and weight information. More... | |
struct | vertex_influence |
Describes how a bone influences a specific vertex. More... | |
Public Types | |
using | vertex_influence_array_t = std::vector<vertex_influence> |
using | bone_influence_array_t = std::vector<bone_influence> |
using | vertex_data_array_t = std::vector<vertex_data> |
Public Member Functions | |
void | add_bone (const bone_influence &bone) |
Adds influence information for a specific bone. | |
void | remove_empty_bones () |
Removes any bones that do not contain any influences. | |
void | build_vertex_table (uint32_t vertex_count, const std::vector< uint32_t > &vertex_remap, vertex_data_array_t &table) |
Constructs a list of bone influences and weights for each vertex based on the binding data provided. | |
void | remap_vertices (const std::vector< uint32_t > &remap) |
Remaps the vertex references stored in the binding based on the supplied remap array. | |
auto | get_bones () const -> const bone_influence_array_t & |
Retrieves a list of all bones that influence the skin in some way. | |
auto | get_bones () -> bone_influence_array_t & |
Retrieves a list of all bones that influence the skin in some way. | |
auto | has_bones () const -> bool |
Checks whether the skin data has any bones. | |
auto | find_bone_by_id (const std::string &id) const -> bone_query |
Finds a bone by its unique identifier. | |
void | clear_vertex_influences () |
Releases memory allocated for vertex influences in each stored bone. | |
void | clear () |
Clears out the bone information stored in this object. | |
Structure describing how a skinned mesh should be bound to any bones that influence its vertices.
using unravel::skin_bind_data::bone_influence_array_t = std::vector<bone_influence> |
using unravel::skin_bind_data::vertex_data_array_t = std::vector<vertex_data> |
using unravel::skin_bind_data::vertex_influence_array_t = std::vector<vertex_influence> |
void unravel::skin_bind_data::add_bone | ( | const bone_influence & | bone | ) |
void unravel::skin_bind_data::build_vertex_table | ( | uint32_t | vertex_count, |
const std::vector< uint32_t > & | vertex_remap, | ||
vertex_data_array_t & | table ) |
void unravel::skin_bind_data::clear | ( | ) |
void unravel::skin_bind_data::clear_vertex_influences | ( | ) |
auto unravel::skin_bind_data::find_bone_by_id | ( | const std::string & | id | ) | const -> bone_query |
auto unravel::skin_bind_data::get_bones | ( | ) | -> bone_influence_array_t& |
auto unravel::skin_bind_data::get_bones | ( | ) | const -> const bone_influence_array_t& |
auto unravel::skin_bind_data::has_bones | ( | ) | const -> bool |
void unravel::skin_bind_data::remap_vertices | ( | const std::vector< uint32_t > & | remap | ) |
void unravel::skin_bind_data::remove_empty_bones | ( | ) |