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