All Projects → dotnet → Silk.net

dotnet / Silk.net

Licence: mit
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Silk.net

Opentk
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
Stars: ✭ 2,284 (+327.72%)
Mutual labels:  game-development, openal, opengl, graphics, graphics-library, opencl, scientific-visualization
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+2090.64%)
Mutual labels:  game-development, opengl, graphics, 3d, vulkan
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+598.13%)
Mutual labels:  opengl, graphics, 3d, vulkan, glfw
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (-38.01%)
Mutual labels:  hacktoberfest, game-development, openal, opengl, 3d
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+562.92%)
Mutual labels:  openal, opengl, vulkan, glfw, opencl
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+1819.85%)
Mutual labels:  opengl, graphics, vulkan, glfw
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-66.1%)
Mutual labels:  opengl, graphics, 3d, glfw
Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (-84.83%)
Mutual labels:  game-development, opengl, graphics, vulkan
Veldrid
A low-level, portable graphics library for .NET.
Stars: ✭ 1,784 (+234.08%)
Mutual labels:  game-development, opengl, graphics, vulkan
Glportal
🎮 Open Source teleportation based first person puzzle-platformer
Stars: ✭ 297 (-44.38%)
Mutual labels:  hacktoberfest, opengl, 3d
Rspirv
Rust implementation of SPIR-V module processing functionalities
Stars: ✭ 332 (-37.83%)
Mutual labels:  opengl, vulkan, opencl
Engine Native
Native engine for Cocos Creator
Stars: ✭ 488 (-8.61%)
Mutual labels:  game-development, 3d, vulkan
Ludo
A libretro frontend written in golang
Stars: ✭ 366 (-31.46%)
Mutual labels:  openal, opengl, glfw
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (-50.75%)
Mutual labels:  opengl, graphics, vulkan
Fbg
Lightweight C 2D graphics API agnostic library with parallelism support
Stars: ✭ 349 (-34.64%)
Mutual labels:  opengl, graphics, graphics-library
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (-7.49%)
Mutual labels:  opengl, graphics, 3d
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+444.19%)
Mutual labels:  opengl, graphics, vulkan
Sfml.net
Official binding of SFML for .Net languages
Stars: ✭ 354 (-33.71%)
Mutual labels:  hacktoberfest, opengl, graphics
Etengine
Realtime 3D Game-Engine with a focus on space sim. Written in C++ 14
Stars: ✭ 408 (-23.6%)
Mutual labels:  game-development, opengl, 3d
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (-25.09%)
Mutual labels:  game-development, graphics, 3d


NuGet Version Preview Feed CI Build Join our Discord

Silk.NET is your one-stop-shop for high-speed .NET multimedia, graphics, and compute; providing bindings to popular low-level APIs such as OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, and DirectX.

Use Silk.NET to spruce up applications with cross-platform 3D graphics, audio, compute and haptics!

Silk.NET works on any .NET Standard 2.0 compliant platform, including .NET 5.0, Xamarin, .NET Framework 4.6.1+, and .NET Core 2.0+.



Features

Performance

Having poured lots of hours into examining generated C# code and its JIT assembly, you can count on us to deliver blazing fast bindings with negligible overhead induced by Silk.NET!

Up-to-date

With an efficient bindings regeneration mechanism, we are committed to ensuring our bindings reflect the latest specifications with monthly updates generated straight from the upstream sources.

High-level utilities

In addition to providing high-speed, direct, and transparent bindings, we provide high-level utilities and wrappers to maximise productivity in common workloads such as platform-agnostic abstractions around Windowing and Input, bringing your apps to a vast number of platforms without changing a single line!

Good-to-go

Silk.NET caters for anything you could need in swift development of multimedia, graphics, compute applications. Silk.NET is an all-in-one solution, complete with Graphics, Compute, Audio, Input, and Windowing.

The team

We currently have the following maintainers:

In addition, the Silk.NET working group help drive larger user-facing changes providing key consultation from the perspective of dedicated users and professionals.

Building from source

  • Make sure you have at least the .NET 5 SDK installed, preferably with Visual Studio's .NET Framework and Xamarin workloads too.
  • Clone the repository
  • Run build.sh, build.cmd, build.ps1, or nuke build. To build for iOS and Android, add the --feature-sets ios android arguments.

There are more advanced build actions you can do too, such as FullBuild, Pack, FullPack, among others which you can view by doing nuke --plan.

Some projects may not build properly without being configured to use Desktop MSBuild (i.e. the MSBuild shipped with Visual Studio). As a result, you will ideally need to be on Windows and have Visual Studio 2019 Community (or greater) installed with .NET Core and Xamarin workloads. If you don't have this (i.e. because you're on Linux or Mac), you can still develop Silk.NET in a limited capacity but you will not be able to work on mobile workloads.

Contributing

Silk.NET uses and encourages Early Pull Requests. Please don't wait until you're done to open a PR!

  1. Fork Silk.NET
  2. Add an empty commit to a new branch to start your work off: git commit --allow-empty -m "start of [thing you're working on]"
  3. Once you've pushed a commit, open a draft pull request. Do this before you actually start working.
  4. Make your commits in small, incremental steps with clear descriptions.
  5. Tag a maintainer when you're done and ask for a review!

Further resources

Licensing and governance

Silk.NET is distributed under the very permissive MIT/X11 license and all dependencies are distributed under MIT-compatible licenses.

Silk.NET is a .NET Foundation project, and has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.


JetBrains

Special thanks to JetBrains for supporting us with open-source licenses for their IDEs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].