Update README.md

This commit is contained in:
Isaac Marovitz 2023-05-25 08:37:56 -04:00 committed by GitHub
parent 98d6abec9b
commit b19f1e8edc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,3 +1,19 @@
# SharpMetal
Metal bindings for C#
Metal bindings for C#.
## Why?
The .NET ecosystem is very much lacking a good Metal binding package. Existing options are out of date, or don't integrate well into cross-platform projects. This project aims to be a complete, up to date, package that stays true to the original API, while making the API easy to use and integrate into C#.
## I want to contribute!
Wonderful! SharpMetal is built with .NET 7.0, and follows a couple of specific guidelines:
- Block Namespaces
- Source Generated P/Invokes
- `LibraryImport` not `DllImport`
- Use C# types where possible
- `NSInteger` -> `long`
- `NSUInteger` -> `ulong`
- Mark structs and classes with `SupportedOSPlatform` attribute
- SharpMetal is built for macOS primarily so when there are platform specific differences, use the macOS option