Sobre el proyecto

Silk.NET es una biblioteca de enlaces .NET para APIs de multimedia, gráficos y computación de bajo nivel. Está dirigida a OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU y DirectX, y está pensada para crear aplicaciones multiplataforma de gráficos 3D, audio, computación y háptica en C#. Características clave descritas por el proyecto: - Rendimiento: se examinaron el código C# generado y su ensamblado JIT para mantener bajo el sobrecoste de los enlaces. - Enlaces actualizados: un mecanismo de regeneración eficiente produce enlaces a partir de fuentes upstream con actualizaciones frecuentes. - Utilidades de alto nivel: además de los enlaces directos, ofrece envoltorios y abstracciones independientes de la plataforma para ventanas y entrada, de modo que las aplicaciones pueden apuntar a muchas plataformas sin cambios de código. - Alcance todo en uno: gráficos, computación, audio, entrada y ventanas en una sola solución. Compatibilidad: funciona en cualquier plataforma compatible con .NET Standard 2.0, incluidos .NET 6.0, Xamarin, .NET Framework 4.6.1+ y .NET Core 2.0+. Estado del proyecto: Silk.NET 3.0 está en desarrollo, centrado en reelaborar cómo se generan los enlaces de C# y en abordar puntos problemáticos. El mantenimiento de Silk.NET 2.X es limitado porque el equipo está formado por voluntarios; las actualizaciones de 2.X se publican de forma puntual. El README invita a colaboradores y mantenedores a ayudar a sostener 2.X. Compilar desde el código fuente requiere los SDK de .NET 6 y .NET 7, cargas de trabajo de Android/iOS/Mac Catalyst, versiones 31, 33 y 34 del SDK de Android con herramientas NDK, Java JDK 11+ y, opcionalmente, Visual Studio 2022 17.0+. Las compilaciones se ejecutan mediante build.sh, build.cmd, build.ps1 o nuke compile; nuke pack produce paquetes NuGet. Otras acciones de compilación como FullBuild, Pack y FullPack están disponibles mediante nuke --plan. Las contribuciones siguen un enfoque de pull request temprano: bifurcar, crear una rama con un commit vacío, abrir un pull request en borrador antes de empezar a trabajar, hacer commits en pequeños incrementos y luego solicitar revisión. La solución es muy grande, y CONTRIBUTING.md explica cómo el proceso de compilación ayuda a gestionarlo. Gobernanza y licencia: Silk.NET es un proyecto oficial de la .NET Foundation bajo la licencia MIT/X11, con dependencias bajo licencias compatibles con MIT, y adopta el código de conducta Contributor Covenant. El proyecto acepta apoyo financiero y señala el respaldo de JetBrains con licencias de IDE de código abierto. Hay ejemplos disponibles en la carpeta examples del repositorio, y el equipo se comunica mediante Discord.