All Projects → realvictorprm → GLFW3.NET

realvictorprm / GLFW3.NET

Licence: Apache-2.0 license
Automatic generated bindings of GLFW3 for .NET

Programming Languages

C#
18002 projects
c
50402 projects - #5 most used programming language
F#
602 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to GLFW3.NET

glfwJS
The N-API bindings for GLFW
Stars: ✭ 49 (+75%)
Mutual labels:  vulkan, glfw
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+13214.29%)
Mutual labels:  vulkan, glfw
zig-vulkan-triangle
simple triangle displayed using vulkan, glfw, and zig
Stars: ✭ 55 (+96.43%)
Mutual labels:  vulkan, glfw
virtualGizmo3D
Virtual GIZMO - 3D object manipulator / orientator, via mouse, with pan and dolly/zoom features
Stars: ✭ 36 (+28.57%)
Mutual labels:  vulkan, glfw
Demos
Vulkan API crossplatform demos in Go
Stars: ✭ 103 (+267.86%)
Mutual labels:  vulkan, glfw
scop vulkan
A 3D model viewer written C++20 and Vulkan
Stars: ✭ 133 (+375%)
Mutual labels:  vulkan, glfw
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 (+12542.86%)
Mutual labels:  vulkan, glfw
luajit-glfw
GLFW bindings for LuaJIT
Stars: ✭ 51 (+82.14%)
Mutual labels:  vulkan, glfw
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+36514.29%)
Mutual labels:  vulkan, glfw
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+1807.14%)
Mutual labels:  vulkan, glfw
nuklear-glfw-vulkan
A nuklear adapter that does Vulkan rendering
Stars: ✭ 52 (+85.71%)
Mutual labels:  vulkan, glfw
Nimgl
NimGL is a Nim library that offers bindings for popular libraries used in computer graphics
Stars: ✭ 218 (+678.57%)
Mutual labels:  vulkan, glfw
glfw-d
D translation of GLFW, a multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Stars: ✭ 14 (-50%)
Mutual labels:  vulkan, glfw
Oreon Engine
OpenGL/Vulkan Java 3D Engine
Stars: ✭ 431 (+1439.29%)
Mutual labels:  vulkan, glfw
Flextgl
OpenGL and Vulkan header and loader generator.
Stars: ✭ 180 (+542.86%)
Mutual labels:  vulkan, glfw
Berserk
[WIP] High performance 3D graphics game engine
Stars: ✭ 31 (+10.71%)
Mutual labels:  vulkan, glfw
Explosion
💥 A modern cross-platform game engine (WIP)
Stars: ✭ 102 (+264.29%)
Mutual labels:  vulkan
rasen
Generate SPIR-V bytecode from an operation graph
Stars: ✭ 65 (+132.14%)
Mutual labels:  vulkan
Auto3D
2D and 3D game engine based on OpenGL OpenGL ES and Vulkan
Stars: ✭ 36 (+28.57%)
Mutual labels:  vulkan
lucurious
😱 Lucurious -> [Library] for building advanced DRM/KMS Vulkan Renderers 😱
Stars: ✭ 18 (-35.71%)
Mutual labels:  vulkan

GLFW3.NET

Join us on Gitter! Build status Linux and Mac build

Automatic generated bindings of GLFW3 for .NET

Important

Please report any bugs and suggestions!

Nuget package

NuGet version

Please keep in mind to add the file WrapperGLFW.dll.config to your project and change the option CopyToOutputPath of the file WrapperGLFW.dll.config to Always. The file can be found under /yoursolutionpath/packages/GLFW.NET.x.x.x/Content/WrapperGLFW.dll.config. This is required for Linux or Mac and if you don't do it, the library won't work.

Introduction

This repository provides bindings for the latest GLFW3 version. It covers almost the complete API except Vulkan.

The binding is generated automatically but for a small part.

To get support for the Vulkan specific functions it's recommeneded to use the additional file GLFW3_Wrapper.cs which includes the missing bindings (for Vulkan) and an object oriented wrapper.

The projects under src are the generator, raw GLFW binding and an oop wrapper with binding for GLFW.

To get the binding as dll please read further.

How to get a working library file

Windows

  1. Clone
  2. Go into src/
  3. Build the project with the command Build.cmd
  4. Link the output dll to your project and copy the native glfw.dll into your output directory

The x64 glfw3.dll can be found in the dependencies folder. If you need a custom binary for windows go to the glfw website Pre-build binaries for all other architectures on windows e.g. x86 can be found there.

Linux/Mac

  1. Install glfw with your package-manager (version glfw 3.2.1)
  2. Clone
  3. Go into src/
  4. Build the library file with the command sh build.sh
  5. Link the dll to your project and link/copy WrapperGLFW.dll.config to your build-output directory (needed!)

Other build targets

There are also custom targets available for FAKE:

  • Build WrapperBinding to get the binding with oop wrapper (default target).
  • Build RawBinding to get the binding without oop wrapper.
  • Build Generator to build the generator.
  • Build all bindings to build the raw and wrapper binding.
  • ```Build`` to build all projects available in the src folder.
  • Clean to clean the build folder.

To use them simply add them with quotation marks after the build command.

Important remarks

Compatibility:

  • The project is compatible with Mono. It can be opened and built by MonoDevelop too but using the script file is recommended.
  • The current GLFW.dll is for windows. For Linux/Mac please keep in mind to install glfw with your package-manager
  • Again, the wrapper which is highly recommended to prevent seg faults can be found under src/GLFW_Wrapper.cs

Examples

Few usage examples are under the examples folder:

  • How to use GLFW3.NET with SharpVk to acquire a VkSurfaceKHR from GLFW

Other examples can be seen in the wiki page of this repository.

Dependencies for generation:

  • The library uses CppSharp for binding generation.

Contributing

Contributions to make this binding better and staying up to date are readily appreciated, feel free to send PR's and open issues if there are any.

To build the generator under Linux or Mac you have to compile the latest CppSharp on your own.

Windows developers can easily use the existing dlls in the dependencies folder.

Questions, Suggestions

We're having a gitter chat for discussing binding generation and or additional features! Feel free to join us!

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].