Silk.NET

The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.

MIT License

Stars
3.7K
Committers
93

Bot releases are visible (Hide)

Silk.NET - 2.5 June 2021 Update

Published by Perksey over 3 years ago

Silk.NET June 2021 Update

  • OpenXR bindings are now production-ready & no longer experimental!
  • Add (optional) native binaries for OpenAL Soft
  • Add support for reversed-z projection matrices in Silk.NET.Maths
  • Add bindings for a number of missing Vulkan and OpenCL extensions
  • Add OpenGL-OpenXR interoperability helper APIs
  • Add more helper APIs in Silk.NET.Core and Silk.NET.Maths
  • Update to latest OpenGL and OpenGLES specifications
  • Update to OpenXR 1.0.16
  • Update to Vulkan 1.2.180
  • Fix SDL OpenGL context issues when not using OpenGL
  • Fix GLFW native window issues on 32-bit Windows
  • Fix OpenXR loading issues
  • Fix incorrect bindings in OpenXR
  • Miscellaneous windowing & input bugfixes & improvements
Silk.NET - 2.4 May 2021 Update

Published by Perksey over 3 years ago

  • Add As methods to all Maths types & other miscellaneous API additions
  • Add support for provisional Vulkan Video encoding & decoding extensions
  • Update to latest OpenGL specification
  • Update to latest OpenCL specification
  • Update to Vulkan 1.2.177
  • Update to OpenXR 1.0.15
  • Fix ImGui robustness
  • Fix disposal and reset robustness
  • Fix SDL input backend not respecting deadzones
  • Fix GLFW input backend not respecting start-up state
  • Fix Vulkan device function pointer loader bugs
  • Fix BSTR GlobalMemory issues
  • Fix Vulkan codegen issues
  • Fix bitfield codegen for Vulkan & clang-generated bindings
  • Miscellaneous windowing & input bugfixes
Silk.NET - 2.3 April 2021 Update

Published by Perksey over 3 years ago

Silk.NET April 2021 Update

  • Add a new Silk.NET.OpenGL.Extensions.ImGui package, a first-party ImGui integration for Silk.NET.OpenGL
  • Add support for native method definitions across multiple partial classes
  • Add improved SDL exception throwing, only throwing when a function indicates an error
  • Updated metadata to reference .NET Foundation and dotnet following our .NET Foundation onboarding
  • Update to SDL 2.0.14
  • Update to GLFW 3.3.3
  • Miscellaneous build system related fixes
  • Miscellaneous SourceLink related fixes
Silk.NET - 2.2 March 2021 Update

Published by Perksey over 3 years ago

Silk.NET March 2021 Update

  • Add memory pooling for Input State Capture extensions
  • Add Input State Capture stability and robustness improvements
  • Update to Vulkan 1.2.171
  • Update to latest OpenGL as of 22nd February 2021
  • Update to latest OpenCL as of 2nd March 2021
  • Fix window disposal/reset bugs
  • Fix a build toolchain issue where packages released in Debug mode (#416)
  • Fix a string marshalling issue & OpenAL regression (#414)
Silk.NET - 2.1 February 2021 Update

Published by Perksey over 3 years ago

Silk.NET February 2021 Update

  • Add native handles for Windowing
  • Add Veldrid support
  • Add support for macro constants
  • Add support for unnamed nested anonymous struct fields
  • Add better name hinting for anonymous types
  • Add support for OpenGL token reuse for tokens that had been previously deprecated and removed, fixing #400
  • Add nested anonymous struct "fusion" with their parent structs, allowing direct ref access on .NET Standard 2.1 platforms without going through the anonymous field
  • Add static Guid members for structs with a COM interface ID
  • Fix struct field size and type variation between 32-bit and 64-bit in generated C++ bindings
  • Fix calling convention detection, and actually respect the calling convention we detect
  • Fix being unable to specify calling convention using NativeApiAttribute
  • Fix some type issues
  • Fix accidental initialization of both platforms, resolving #407
  • Fix zero-length string allocation resulting in an IndexOutOfRangeException exception by clamping the allocation length to 1, resolving #396
  • Fix unreasonably small delta times when running a window with OpenGL V-Sync enabled
  • Fix faulty addition in Silk.NET.Maths where (u)ints were produced by (s)byte and (u)short addition, resulting in an invalid cast
  • Fix malformed XML in MSBuild targets included by Silk.NET.Windowing.Sdl.Android, resolving #405

This should be treated as an "emergency patch" and you should update as soon as reasonably practicable. Some of the bugs in 2.0 are fatal in some workloads.

Silk.NET - 2.0 January 2021 Update

Published by Perksey almost 4 years ago

Silk.NET January 2021 Update - 2.0, the largest Silk.NET update to date

  • Adds Assimp bindings
  • Adds SDL bindings
  • Adds a SDL windowing backend
  • Adds a new, AOT-friendly interop system (SilkTouch)
  • Adds Android support
  • Adds a generic, flexible maths library to fill in the holes left by System.Numerics
  • Adds an initial set of Microsoft DirectX bindings
  • Adds improved function pointer support
  • Adds more OpenGL framebuffer bit-depth options
  • Adds shared OpenGL contexts
  • (EXPERIMENTAL!) Adds OpenXR bindings
  • (EXPERIMENTAL!) Adds iOS support
  • Massive performance improvements
  • GLFW fixes
  • Windowing and Input fixes/refactorings
  • OpenCL and OpenAL improvements
  • Vulkan bug fixes
  • Miscellaneous bug fixes and improvements

This release may be breaking and will likely require some modification in updating existing code to it. Please contact us in our Discord server if this is the case. We'll do our best to publish a migration guide shortly.

Silk.NET - 2.0 Preview 4

Published by Perksey almost 4 years ago

Includes everything from the last previews, as well as:

  • A generic, flexible maths library to fill in the holes left by System.Numerics
  • An initial set of Microsoft DirectX bindings
  • Miscellaenous fixes and improvements

Silk.NET v1.9.0 was the last version of Silk.NET v1.X as this release (2.0 Preview 4) is a production-ready "go live" release. Feel free to use this in new applications.

Silk.NET - 1.8.0 November 2020 Update

Published by Perksey almost 4 years ago

  • Update to latest specifications.
  • Miscellaneous bug fixes and improvements.
Silk.NET - 1.7.0 October 2020 Update

Published by Perksey about 4 years ago

  • Add a BorderSize property and GetFullSize extension method to IWindow for working with window borders.
  • Add a Center extension method which will center the window to a monitor.
  • Update to latest specifications.
  • Miscellaneous bug fixes and improvements.
Silk.NET - 1.6.0 September 2020 Update

Published by Perksey about 4 years ago

  • Add a byte* overload to Glfw.GetError
  • Make GlfwProvider throw if Glfw.Init fails
  • Update to latest specifications
  • Miscellaneous bug fixes and improvements
Silk.NET - 2.0 Preview 2

Published by Perksey about 4 years ago

Includes everything from the last previews, as well as:

  • SDL bindings
  • A SDL windowing backend
  • A new, AOT-friendly interop system
  • A new and improved overload system and bindings API surface
  • Miscellaneous OpenXR and GLFW fixes
  • Miscellaneous windowing and input fixes and refactorings
Silk.NET - 1.4.0 July 2020 update

Published by Perksey over 4 years ago

  • Update to OpenCL v3.0.1 (Provisional Specification)
  • Update to Vulkan v1.2.145
  • Update to SuperInvoke v1.1.0
  • Added an IGLContext implementation (GlfwContext) to Silk.NET.GLFW
  • Added glfwSetFramebufferSizeCallback to Silk.NET.GLFW
  • Fixed some cases of first-chance exceptions when loading native libraries
  • Miscellaneous bug fixes and improvements
Silk.NET - 1.2.0 May 2020 Update

Published by Perksey over 4 years ago

  • Update to Vulkan 1.2.139
  • Update to OpenCL 3.0
  • Add a new context abstraction
  • Add extensions for using Silk.NET's Windowing API with Veldrid
  • Add a new way of accessing OpenGL-specific and Vulkan-specific functions
  • Add a helpful hint as to why your Vulkan functions are throwing EntryPointNotFoundExceptions.
  • Add ExtensionName constants to all extension classes (useful for Vulkan)
  • Add an option for waiting for events before proceeding to execute the render loop.
  • Add a setter to the IsClosing property so you can cancel window closure
  • Fix the incorrect DebugUtilsMessengerCallbackFunctionEXT signature
  • Fix a bug where you couldn't catch GlfwExceptions on Linux and macOS
  • Fix a bug where attempting to call Invoke on a window will result in a deadlock
  • Fix a bug where VSync was always on regardless of the requested configuration
  • Fix a bug where eventhough we fixed the previous VSync bug, we still weren't respecting initial vsync settings.
  • Fix a bug where directly accessing scroll-wheel info would return bogus data
  • Fix a bug where Render and Update are fired again after close
  • Deprecated adaptive vsync
  • Deprecated SilkManager
  • Deprecated obsolete native methods that we weren't annotating as obsolete before
  • Miscellaneous fixes and improvements
Silk.NET - 1.1.1 Hotfix

Published by Perksey over 4 years ago

  • Fix OpenAL symbol loading bugs
  • Fix a bug where gamepad button states weren't stored correctly
  • Fix a bug where the Close method wouldn't trigger the Close event
Silk.NET - 1.1.0 April 2020 Update

Published by Perksey over 4 years ago

  • Add Input Capture Extensions
  • Add transparent framebuffers
  • Fix miscellaneous bugs in OpenAL
  • Updated to Vulkan 1.2.136
  • Updated OpenCL to include 2.2's latest experimental features
Silk.NET - 1.0 Full Release

Published by Perksey over 4 years ago

This is the first full release of Silk.NET. Changes since Preview 5:

  • Add window icons
  • Add more in-depth OpenGL context-management methods.
  • Add click events
  • Add OpenGL direct state access overloads
  • Add Vulkan boolean & version helpers
Silk.NET - Preview 5

Published by Perksey over 4 years ago

  • Added cursor modes
  • Added EGL bindings (no windowing backend yet)
  • Rewrite the overload system, hopefully resulting in overloads that make sense.
  • Miscellaenous Silk.NET.Core improvements
  • Updated to SuperInvoke 1.0.3, encompassing a lot of bug fixes.
  • Updated to GLFW 3.3.2, encompassing a lot of bug fixes.
  • Fix an infinite loop in OpenAL's GetStringList methods
  • Other bug fixes
Silk.NET - Preivew 4

Published by Perksey over 4 years ago

This is the fourth preview release of Silk.NET.

Includes:

  • OpenGL
  • OpenAL
  • OpenCL
  • Vulkan
  • GLFW
  • Windowing
  • Input

Patch Notes

  • Added OpenCL
  • Added monitor support
  • Added view/window separation (in preparation for mobile support in a later release)
  • Added monitors and video modes
  • Fixed vsync
  • Removed AdvancedDLSupport in favour of SuperInvoke
  • Removed dispatcher
  • Removed other unused/unnecessary packages
Silk.NET - Preview 3

Published by Perksey almost 5 years ago

This is the third preview release of Silk.NET.

Includes:

  • OpenGL
  • OpenAL
  • GLFW
  • Windowing
  • Input

Does not include:

  • Mobile support
  • OpenCL

Patch Notes

  • Added Vulkan
  • Added mouse movement
  • Added gamepad rumble (though it hasn't been implemented in GLFW yet)
  • Added macOS support
  • Added more overloads, as well as fixed the existing ones.
  • Added DoRender, DoUpdate, DoEvents, Open, Reset, and IsClosing members for custom game loops
  • Added KeyChar for receiving text input (modifiers applied)
  • Added strongly-typed enum groupings for OpenGL and OpenGLES
  • Fixed extension loading
  • Fixed a bug where strings weren't marshalled properly
  • Fixed a bug where some shaders didn't compile correctly
  • Fixed a bug where some programs didn't link correctly
  • Fixed various OpenAL bugs
  • Removed all built-in thread management, the user will have to take care of this themselves.
  • Synchronised the enum of all available keys with that of GLFW
Silk.NET - Preview 1

Published by Perksey about 5 years ago

This is the first preview release of Silk.NET.

Includes:

  • OpenGL
  • OpenAL
  • GLFW
  • Windowing
  • Input

Does not include:

  • Mobile support
  • OpenCL
  • Vulkan
  • A metapackage