-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5db4562
commit 06f4d5b
Showing
2 changed files
with
20 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
## Why? | ||
|
||
The .NET ecosystem is very much lacking a good Metal binding package. Existing options are outdated 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#. | ||
|
||
## What can you make with it? | ||
|
||
Progress is underway to build a full set of working reimplementations of the metal-cpp samples. Thanks to the generator, the entire Metal API, from compute shaders to raytracing, should be available, although specific things may take further tweaking. | ||
|
||
## I want to contribute! | ||
|
||
Wonderful! SharpMetal is built with .NET 8.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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters