created MeshExtensions
This commit is contained in:
parent
a4b6140a96
commit
88ea2f1f08
3 changed files with 118 additions and 13 deletions
|
|
@ -9,6 +9,15 @@ namespace Raylib_cs;
|
|||
[StructLayout(LayoutKind.Sequential)]
|
||||
public unsafe partial struct Mesh
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a mesh ready for default vertex data allocation
|
||||
/// </summary>
|
||||
public Mesh(int vertexCount, int triangleCount)
|
||||
{
|
||||
VertexCount = vertexCount;
|
||||
TriangleCount = triangleCount;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Number of vertices stored in arrays
|
||||
/// </summary>
|
||||
|
|
@ -24,37 +33,37 @@ public unsafe partial struct Mesh
|
|||
/// <summary>
|
||||
/// Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
|
||||
/// </summary>
|
||||
public float* Vertices;
|
||||
public float* Vertices = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
|
||||
/// </summary>
|
||||
public float* TexCoords;
|
||||
public float* TexCoords = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex second texture coordinates (useful for lightmaps) (shader-location = 5)
|
||||
/// </summary>
|
||||
public float* TexCoords2;
|
||||
public float* TexCoords2 = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)
|
||||
/// </summary>
|
||||
public float* Normals;
|
||||
public float* Normals = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)
|
||||
/// </summary>
|
||||
public float* Tangents;
|
||||
public float* Tangents = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
|
||||
/// </summary>
|
||||
public byte* Colors;
|
||||
public byte* Colors = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex indices (in case vertex data comes indexed)
|
||||
/// </summary>
|
||||
public ushort* Indices;
|
||||
public ushort* Indices = default;
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -63,22 +72,22 @@ public unsafe partial struct Mesh
|
|||
/// <summary>
|
||||
/// Animated vertex positions (after bones transformations)
|
||||
/// </summary>
|
||||
public float* AnimVertices;
|
||||
public float* AnimVertices = default;
|
||||
|
||||
/// <summary>
|
||||
/// Animated normals (after bones transformations)
|
||||
/// </summary>
|
||||
public float* AnimNormals;
|
||||
public float* AnimNormals = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex bone ids, up to 4 bones influence by vertex (skinning)
|
||||
/// </summary>
|
||||
public byte* BoneIds;
|
||||
public byte* BoneIds = default;
|
||||
|
||||
/// <summary>
|
||||
/// Vertex bone weight, up to 4 bones influence by vertex (skinning)
|
||||
/// </summary>
|
||||
public float* BoneWeights;
|
||||
public float* BoneWeights = default;
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -87,12 +96,12 @@ public unsafe partial struct Mesh
|
|||
/// <summary>
|
||||
/// OpenGL Vertex Array Object id
|
||||
/// </summary>
|
||||
public uint VaoId;
|
||||
public uint VaoId = default;
|
||||
|
||||
/// <summary>
|
||||
/// OpenGL Vertex Buffer Objects id (default vertex data, uint[])
|
||||
/// </summary>
|
||||
public uint* VboId;
|
||||
public uint* VboId = default;
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue