using System; using System.Numerics; using System.Runtime.InteropServices; namespace Raylib_cs { /// /// Bone information /// [StructLayout(LayoutKind.Sequential)] public unsafe struct BoneInfo { /// /// Bone name (char[32]) /// public fixed sbyte name[32]; /// /// Bone parent /// public int parent; } /// /// Model type /// [StructLayout(LayoutKind.Sequential)] public unsafe struct Model { /// /// Local transform matrix /// public Matrix4x4 transform; /// /// Number of meshes /// public int meshCount; /// /// Number of materials /// public int materialCount; /// /// Meshes array (Mesh *) /// public Mesh *meshes; /// /// Materials array (Material *) /// public Material *materials; /// /// Mesh material number (int *) /// public int *meshMaterial; /// /// Number of bones /// public int boneCount; /// /// Bones information (skeleton, BoneInfo *) /// public BoneInfo *bones; /// /// Bones base transformation (pose, Transform *) /// public Transform *bindPose; } /// /// Model animation /// [StructLayout(LayoutKind.Sequential)] public unsafe struct ModelAnimation { /// /// Number of bones /// public int boneCount; /// /// Number of animation frames /// public int frameCount; /// /// Bones information (skeleton, BoneInfo *) /// public BoneInfo *bones; /// /// Poses array by frame (Transform **) /// public Transform *framePoses; } }