Об этом проекте
Silk.NET — это библиотека .NET-привязок для низкоуровневых мультимедийных, графических и вычислительных API. Она нацелена на OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU и DirectX и предназначена для создания кроссплатформенных 3D-графических, аудио-, вычислительных и тактильных приложений на C#.
Ключевые характеристики, описанные проектом:
- Производительность: сгенерированный код C# и его JIT-сборка были проанализированы для минимизации накладных расходов на привязки.
- Актуальные привязки: эффективный механизм регенерации создает привязки из исходных источников с частыми обновлениями.
- Высокоуровневые утилиты: помимо прямых привязок, предлагаются обертки и платформонезависимые абстракции для окон и ввода, что позволяет приложениям работать на многих платформах без изменения кода.
- Все-в-одном: графика, вычисления, аудио, ввод и оконная система в одном решении.
Совместимость: работает на любой платформе, соответствующей .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.
Вклад в проект следует подходу ранних pull request: форкните репозиторий, создайте ветку с пустым коммитом, откройте черновой pull request до начала работы, коммитьте небольшими порциями, затем запросите ревью. Решение очень большое, и CONTRIBUTING.md объясняет, как процесс сборки помогает управлять этим.
Управление и лицензирование: Silk.NET — официальный проект .NET Foundation под лицензией MIT/X11, с зависимостями под MIT-совместимыми лицензиями, и принимает Кодекс поведения Contributor Covenant. Проект принимает финансовую поддержку и отмечает поддержку JetBrains с открытыми лицензиями IDE. Примеры доступны в папке examples репозитория, а команда общается через Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.