このプロジェクトについて
Silk.NETは、低レベルマルチメディア、グラフィックス、コンピュートAPI向けの.NETバインディングライブラリです。OpenGL、OpenCL、OpenAL、OpenXR、GLFW、SDL、Vulkan、Assimp、WebGPU、DirectXを対象としており、C#でクロスプラットフォームの3Dグラフィックス、オーディオ、コンピュート、ハプティクスアプリケーションを構築することを目的としています。
プロジェクトが説明する主な特徴は以下の通りです:
- パフォーマンス:生成されたC#コードとそのJITアセンブリを調査し、バインディングのオーバーヘッドを低く抑えています。
- 最新のバインディング:効率的な再生成メカニズムにより、上流ソースから頻繁に更新されるバインディングを生成します。
- 高レベルユーティリティ:直接バインディングに加えて、ウィンドウ処理と入力のためのラッパーとプラットフォーム非依存の抽象化を提供し、コード変更なしで多くのプラットフォームを対象にできます。
- オールインワンの範囲:グラフィックス、コンピュート、オーディオ、入力、ウィンドウ処理を1つのソリューションで提供します。
互換性:.NET Standard 2.0準拠の任意のプラットフォームで動作します。これには、.NET 6.0、Xamarin、.NET Framework 4.6.1以降、.NET Core 2.0以降が含まれます。
プロジェクトの状態:Silk.NET 3.0は開発中で、C#バインディングの生成方法の再設計と問題点への対処に焦点を当てています。Silk.NET 2.Xのメンテナンスは、チームがボランティアで構成されているため限定的であり、2.Xの更新は随時リリースされます。READMEでは、2.Xを維持するための貢献者とメンテナを募集しています。
ソースからのビルドには、.NET 6および.NET 7 SDK、Android/iOS/Mac Catalystワークロード、Android SDKバージョン31、33、34(NDKツール付き)、Java JDK 11以降、オプションでVisual Studio 2022 17.0以降が必要です。ビルドはbuild.sh、build.cmd、build.ps1、またはnuke compileで実行します。nuke packでNuGetパッケージを生成します。FullBuild、Pack、FullPackなどの他のビルドアクションは、nuke --planで利用できます。
貢献は早期プルリクエストアプローチに従います:フォークし、空のコミットでブランチを作成し、作業開始前にドラフトプルリクエストを開き、小さな単位でコミットし、その後レビューを依頼します。ソリューションは非常に大きいため、CONTRIBUTING.mdでビルドプロセスがその管理にどのように役立つかを説明しています。
ガバナンスとライセンス:Silk.NETは、MIT/X11ライセンスの下で公式の.NET Foundationプロジェクトであり、依存関係はMIT互換ライセンスの下にあり、Contributor Covenantの行動規範を採用しています。プロジェクトは財政的支援を受け付けており、JetBrainsがオープンソースIDEライセンスで支援していることに言及しています。例はリポジトリのexamplesフォルダにあり、チームはDiscordでコミュニケーションを取っています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.