RGFW is a cross platform lightweight simple-to-use window abstraction library for creating graphical programs or libraries.
Current RGFW version: v1.8.1
RGFW supports the OpenGL, Vulkan, Metal, and DirectX graphics APIs.
To enable a graphics API, the corresponding tags must be defined:
RGFW_OpenGL: for OpenGL APIRGFW_Vulkan: for Vulkan APIRGFW_Metal: for Metal APIRGFW_DirectX: for DirectX API
It does not provide full support.
Mostly enable the necessary definitions in the header.
For example, defining RGFW_OPENGL in C.
For OpenGL specifically, system-specific OpenGL linking is also added to the compilation command on Windows, Linux, and Darwin targets. In addition, some OpenGL helper functions provided by RGFW are implemented as well.
If no tag is provided, no graphics API is defined by default. This can be useful if you only plan to use Surface.
These tags only ensure that the relevant graphics API is applied to RGFW. The compilation command for the respective graphics API is your responsibility (or that of the package you are using).
Ease of development and performance are balanced priorities.
There is no guarantee that the entire RGFW API will be covered. Furthermore, the API is not stable. If any API variation occurs between RGFW releases, the API provided by Jule binding may also change. This should be considered before updating.
Because this is a binding and RGFW is written in C, Jule code cannot prevent memory errors and other issues that might occur on the C side. Therefore, you need to ensure that you use the binding correctly, as expected by RGFW.
This project was developed not only to serve developers a RGFW binding, but also to demonstrate the C/C++ interoperability capabilities of the Jule programming language and to show how Integrated Jule can be used in an idiomatic way.
Any contribution to the project is greatly appreciated, whether it's a typo fix, a brand new feature, or a bug report. This project uses GitHub issues for things like proposals, bug reports, and security vulnerabilities.
Please read the Julenour Code of Conduct and the contribution guidelines before contributing.
This project is distributed under the terms of the BSD 3-Clause license.
See License Details