Watch
2
0
Fork
You've already forked raylib-cs
0

Focus pr on explicit type and util changes

This commit is contained in:
Rgebee 2025-09-17 19:16:39 +01:00
commit be91fe9120
15 changed files with 18 additions and 856 deletions

View file

@ -77,7 +77,7 @@ public unsafe struct Material
/// </summary>
public Shader Shader;
//TODO: convert
// TODO: convert
/// <summary>
/// Material maps
/// </summary>
@ -87,55 +87,4 @@ public unsafe struct Material
/// Material generic parameters (if required)
/// </summary>
public fixed float Param[4];
public readonly CBool IsValid => Raylib.IsMaterialValid(this);
/// <summary>
/// Load default material
/// </summary>
public static Material Load()
{
return Raylib.LoadMaterialDefault();
}
/// <summary>
/// Load materials from model file
/// </summary>
public static Material[] Load(string fileName)
{
using AnsiBuffer buffer = fileName.ToAnsiBuffer();
int count = 0;
Material* materials = Raylib.LoadMaterials(buffer.AsPointer(), &count);
Material[] output = new Material[count];
for (int i = 0; i < count; i++)
{
output[i] = materials[i];
}
return output;
}
public static Material GetMaterial(ref Model model, int materialIndex)
{
return Raylib.GetMaterial(ref model, materialIndex);
}
public static Texture2D GetTexture(ref Model model, int materialIndex, MaterialMapIndex mapIndex)
{
return Raylib.GetMaterialTexture(ref model, materialIndex, mapIndex);
}
public void SetTexture(MaterialMapIndex mapIndex, Texture2D texture)
{
Raylib.SetMaterialTexture(ref this, mapIndex, texture);
}
public static void SetShader(ref Model model, int materialIndex, ref Shader shader)
{
Raylib.SetMaterialShader(ref model, materialIndex, ref shader);
}
public void Unload()
{
Raylib.UnloadMaterial(this);
}
}