Silk.NET

C#源码 2025-08-12


Silk.NET 3.0即将到来...?

目前,我们正在努力在Silk.NET 3.0上工作 - 最新,最出色的Silk.NET ,专注于激光来解决疼痛点并重新构想C#bindings库。

因此, Silk.NET 2.X投资目前受到Silk.NET团队完全由业余时间工作的志愿者组成。当开发工作合理并提供时, Silk.NET 2.x更新现在会临时发布。

如果您正在阅读本文,并想加紧保持Silk.NET 2.x,则是作为贡献者或维护者,请随时与我们官方的Discord Server中的Silk.NET团队联系!

了解有关Silk.NET 3.0的更多信息:

  • Silk.NET 3.0计划
  • Silk.NET 3.0绑定设计
  • Silk.NET 3.0会议1
  • Silk.NET 3.0会议2
  • Silkx( Silk.NET 3.0)设计讨论

关于Silk.NET 2.x

Silk.NET是您用于高速.NET多媒体,图形和计算的一站式服务;为流行的低级API提供绑定,例如OpenGL,OpenCL,OpenAl,OpenXR,GLFW,SDL,Vulkan,Assimp,WebGPU和DirectX。

使用Silk.NET使用跨平台3D图形,音频,计算和触觉来填充应用程序!

Silk.NET在任何.NET标准2.0平台上都可以使用,包括.NET 6.0,Xamarin,.NET Framework 4.6.1+和.NET Core 2.0+。



自豪地成为仁慈.NET基金会伞下的正式项目。

特征

表现

在检查生成的C#代码及其JIT组件中倾注了很多小时后,您可以指望我们用Silk.NET 。

最新

通过有效的绑定机制,我们致力于确保绑定反映最新规格,并通过直接从上游来源产生的频繁更新。

高级公用事业

除了提供高速,直接和透明的绑定外,我们还提供高级实用程序和包装器,以最大程度地提高常见工作负载的生产力,例如窗口和输入周围的平台 - 不可能的抽象,将您的应用程序带到大量平台上,而无需更改单线!

善待

Silk.NET可以满足您在多媒体,图形和计算应用程序的快速开发中所需的一切。 Silk.NET是一种多合一的解决方案,配有图形,计算,音频,输入和窗口。

团队

我们目前有以下维护人员:

  • 安德鲁·戴维斯(3.0)
  • 贝利·托马斯(2.x)

此外, Silk.NET工作组有助于推动更大的面向用户的变化,从专门的用户和专业人士的角度提供关键咨询。

从来源建造

先决条件

  • .NET 6 SDK和.NET 7 SDK
  • Android,iOS和MAC Catalyst工作负载(使用dotnet workload install android ios maccatalyst安装它们)
    • 在Linux上,应省略iosmaccatalyst ,因为它们不可用
  • 安装了NDK工具的Android SDK版本31、33和34
    • 在Windows上,为了获得最佳结果,应将其安装到C:\ProgramData\Android\android-sdk
  • Java JDK 11+
  • Visual Studio 2022社区版本17.0或更高版本(可选)

指示

  • 克隆存储库
    • 注意:避免执行递归克隆,因为子模型不需要正常构建
  • 运行build.shbuild.cmdbuild.ps1nuke compile
    • 在Linux上,您可能需要通过--msbuild-properties AndroidSdkDirectory=/path/to/android/sdk
  • 使用内置的组件
    • 要获取可以与Nuget一起使用的.nupkg s,请使用nuke pack

您也可以做更多的高级构建操作,例如FullBuildPackFullPack等,您可以通过执行nuke --plan

贡献

Silk.NET使用并鼓励提早拉的请求。请不要等到您打开PR之后!

  1. 叉Silk.NET
  2. 在新的分支机构中添加一个空的承诺以开始您的工作: git commit --allow-empty -m "start of [thing you're working on]"
  3. 一旦提起提交,请打开草稿请求。在您真正开始工作之前先执行此操作。
  4. 用清晰的描述以小的,增量的步骤进行提交。
  5. 完成后标记维护者并要求进行审查!

Silk.NET溶液非常大。了解如何使用我们的构建过程中的贡献。

资金

Silk.NET需要大量的努力来维护,因此,我们非常感谢您提供的任何财务支持!

这有助于确保Silk.NET的长期生存能力,并帮助支持在业余时间维护Silk.NET开发人员。 Kai正在接受Github赞助。

进一步的资源

  • 在示例文件夹中可以找到几个示例
  • 在不和谐时与我们聊天!

许可和治理

Silk.NET均根据非常宽松的MIT/X11许可分配,所有依赖项均根据MIT兼容许可分配。

Silk.NET是一个.NET基金会项目,并且采用了撰稿人盟约定义的行为准则,以阐明我们社区中的预期行为。有关更多信息,请参见.NET基金会行为准则。



特别感谢Jetbrains为我们提供了IDE的开源许可证。

下载源码

通过命令行克隆项目:

git clone https://github.com/dotnet/Silk.NET.git