All Projects → smack0007 → GLFWDotNet

smack0007 / GLFWDotNet

Licence: MIT License
.NET bindings for GLFW.

Programming Languages

c
50402 projects - #5 most used programming language
C#
18002 projects
objective c
16641 projects - #2 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to GLFWDotNet

mach-glfw
Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
Stars: ✭ 186 (+295.74%)
Mutual labels:  glfw
imgui-java
JNI based binding for Dear ImGui
Stars: ✭ 270 (+474.47%)
Mutual labels:  glfw
3d-core-raub
An extensible Node.js 3D core for desktop applications
Stars: ✭ 55 (+17.02%)
Mutual labels:  glfw
WebAssembly-WebGL-2
A simple port of the "Getting started with GLFW3" code to valid code for Emscripten compilation
Stars: ✭ 65 (+38.3%)
Mutual labels:  glfw
luajit-glfw
GLFW bindings for LuaJIT
Stars: ✭ 51 (+8.51%)
Mutual labels:  glfw
speckle-unity
AEC Interoperability for Unity through Speckle
Stars: ✭ 28 (-40.43%)
Mutual labels:  interop
cairo
Package cairo provides full Go bindings for Cairo, a 2D graphics library.
Stars: ✭ 28 (-40.43%)
Mutual labels:  glfw
GLFW-CMake-starter
Use CMake to create a project with GLFW - Multi-platform Windows, Linux and MacOS.
Stars: ✭ 53 (+12.77%)
Mutual labels:  glfw
scop vulkan
A 3D model viewer written C++20 and Vulkan
Stars: ✭ 133 (+182.98%)
Mutual labels:  glfw
Little-Ruler
A game engine that can be built for Android and Windows.
Stars: ✭ 16 (-65.96%)
Mutual labels:  glfw
azteroids
Simple Asteroids game in C++ and OpenGL
Stars: ✭ 51 (+8.51%)
Mutual labels:  glfw
DirectN
Direct interop Code for .NET Framework, .NET Core and .NET 5+ : DXGI, WIC, DirectX 9 to 12, Direct2D, Direct Write, Direct Composition, Media Foundation, WASAPI, CodecAPI, GDI, Spatial Audio, DVD, Windows Media Player, UWP DXInterop, etc.
Stars: ✭ 128 (+172.34%)
Mutual labels:  interop
speckle-qgis
QGIS Connector for Speckle 2.0
Stars: ✭ 17 (-63.83%)
Mutual labels:  interop
pyunity
A pure Python 3D Game Engine that was inspired by the structure of the Unity Game Engine
Stars: ✭ 187 (+297.87%)
Mutual labels:  glfw
glfwm
GLFW Manager - C++ wrapper with multi-threading
Stars: ✭ 60 (+27.66%)
Mutual labels:  glfw
RCCpp-DearImGui-GLFW-example
Add Runtime Compiled C++ to the Dear ImGui example using the GLFW and OpenGL backend - with power saving
Stars: ✭ 61 (+29.79%)
Mutual labels:  glfw
glfwJS
The N-API bindings for GLFW
Stars: ✭ 49 (+4.26%)
Mutual labels:  glfw
rust-lang-interop
Rust language interoperability with other languages - C, C++ etc.
Stars: ✭ 53 (+12.77%)
Mutual labels:  interop
swift-bridge
swift-bridge facilitates Rust and Swift interop.
Stars: ✭ 260 (+453.19%)
Mutual labels:  interop
ruby-imgui
Yet another ImGui wrapper for Ruby
Stars: ✭ 42 (-10.64%)
Mutual labels:  glfw

The MIT License Actions Status NuGet Badge

GLFWDotNet

.NET bindings for GLFW. Currently only tested / works on Windows but should be fairly easy to make it work on other platforms. Pull requests are welcome.

Usage

Use one of the following options:

  • Use the NuGet package.
  • Include GLFW.cs directly in your project.

Native DLLs

Windows

If you include GLFW.cs directly into your project you'll need to implement the LoadAssembly() method of the GLFW class yourself, the default implementation is in GLFW.LoadAssembly.cs.

This can also just be included in your project of course, in which case the GLFW dlls must be copied into runtimes\{win-x86|win-x64}\native subdirectories relative to the GLFWDotNet.dll. See the output of the samples. An example MSBuild Target can be seen in the CopyDependencies.targets build script.

<PropertyGroup>
  <GLFWDirectory>$(MSBuildThisFileDirectory)..\ext\GLFW\</GLFWDirectory>
</PropertyGroup>

<Target Name="CopyGLFW" AfterTargets="AfterBuild">
  <Copy
    SourceFiles="$(GLFWDirectory)x64\glfw3.dll"
    DestinationFolder="$(TargetDir)runtimes\win-x64\native" />

  <Copy
    SourceFiles="$(GLFWDirectory)x86\glfw3.dll"
    DestinationFolder="$(TargetDir)runtimes\win-x86\native" />
</Target>

Linux

Usage on Linux requires libglfw.so to be installed as well as libdl.so.

In Ubuntu the dependencies can be installed via the following command:

sudo apt install libc6-dev libglfw3-dev

MacOS

Usage on MacOS requires libglfw.dylib to be installed. Dependencies can be installed via brew with the following command:

brew install glfw3

Samples

There are a few samples showing how to use GLFWDotNet.

  • HelloWorld Basic HelloWorld program to get you started.
  • GLFWInfo Writes information about the system out to the console.
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].