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

Upgrade Raylib to 6.0 (#337)

* Updated target to Raylib 6 + synced invoke called with the changes in C. [WARNING: Breaking changes!]

* Added severial examples. Corrected towards the correct return type and add utilities to prevent working with pointers

* Additional resources from the Raylib repo.

* Fixed additional pinvokes to match with the new raylib bindings. [Warning breaking changes!]

* Fixing the QOL utils

* Fixing the Mesh struct

* Applying changes after review. Merged resources.LICENSE + raylib-cs.Native.csproj only targets dotnet8

* Updated README to reflect .NET 10 and Raylib 6 compatibility changes.

* Updated shader colors, adjusted car model scale, disabled HDR in SkyboxDemo, and fixed camera mode assignment. Removed unused `Capacity` field in FilePathList struct.

* Improved XML comments for consistency, fixed spacing and formatting across examples, added new resources to `resources.LICENSE`.

* Updated XML comment for `GetDirectoryFileCountEx` to clarify behavior and filtering options.

* Updated and clarified XML comments for methods and parameters, improved naming consistency, and refined shader-related functions. Renamed enums in `Shader.cs` for so it is inline with the upstream.

* Improved XML comments for clarity and consistency in `Model.cs` and `Mesh.cs`, updated method and variable names for better readability, and adjusted logic in span creation methods.

* Corrected XML comment capitalization in `Model.cs`.

---------

Co-authored-by: Meatcorps <info@meatcorps.nl>
This commit is contained in:
Dennis Steffen 2026-05-24 08:21:12 +02:00 committed by GitHub
commit 21d83c60a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
189 changed files with 43644 additions and 380 deletions

View file

@ -102,6 +102,11 @@ public static unsafe partial class Raymath
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial float Vector2DotProduct(Vector2 v1, Vector2 v2);
/// <summary>Calculate two vectors cross product</summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial float Vector2CrossProduct(Vector2 v1, Vector2 v2);
/// <summary>Calculate distance between two vectors</summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
@ -113,8 +118,9 @@ public static unsafe partial class Raymath
public static partial float Vector2DistanceSqr(Vector2 v1, Vector2 v2);
/// <summary>
/// Calculate angle between two vectors
/// NOTE: Angle is calculated from origin point (0, 0)
/// Calculate the signed angle from v1 to v2, relative to the origin (0, 0)
/// NOTE: Coordinate system convention: positive X right, positive Y down
/// positive angles appear clockwise, and negative angles appear counterclockwise
/// </summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
@ -290,7 +296,7 @@ public static unsafe partial class Raymath
/// <summary>Calculate angle between two vectors in XY and XZ</summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial Vector2 Vector3Angle(Vector3 v1, Vector3 v2);
public static partial float Vector3Angle(Vector3 v1, Vector3 v2);
/// <summary>Negate provided vector (invert direction)</summary>
[LibraryImport(NativeLibName)]
@ -474,6 +480,13 @@ public static unsafe partial class Raymath
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial Matrix4x4 MatrixMultiply(Matrix4x4 left, Matrix4x4 right);
/// <summary>
/// Multiply matrix components by value
/// </summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial Matrix4x4 MatrixMultiplyValue(Matrix4x4 left, float value);
/// <summary>Get translation matrix</summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
@ -698,6 +711,14 @@ public static unsafe partial class Raymath
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial int QuaternionEquals(Quaternion p, Quaternion q);
/// <summary>
/// Compose a transformation matrix from rotational, translational and scaling components
/// TODO: This function is not following raymath conventions defined in header: NOT self-contained
/// </summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]
public static partial Matrix4x4 MatrixCompose(Vector3 translation, Quaternion rotation, Vector3 scale);
/// <summary>Decompose a transformation matrix into its rotational, translational and scaling components</summary>
[LibraryImport(NativeLibName)]
[UnmanagedCallConv(CallConvs = [typeof(CallConvCdecl)])]