Final Platform Layer is a Single-Header-File cross-platform C development library designed to abstract the underlying platform to a very simple and easy-to-use low-level API - providing low-level access to (Window, Video, Audio, Keyboard, Mouse, Gamepad, Files, Threads, Memory, Hardware, etc.).
The main focus is game/media/simulation development, so the default settings will create a window, set up an OpenGL rendering context, and initialize audio playback on any platform.
It is written in C99 for simplicity and best portability but is C++ compatible as well.
FPL supports the platforms Windows/Linux/Unix/Raspberry for the architectures x86/x64/arm. Since version 0.9.6, Vulkan is supported as well.
It is licensed under the MIT-License. This license allows you to use FPL freely in any software.
What makes it different from other platform abstraction libraries, such as SDL/SFML/etc. ?:
- Has bare minimum compile and linking requirements (kernel32.lib / libld.so) only. - It does not require any dependencies or build-systems to get it running. - It has a lightweight feature set
- It compiles blazingly fast
- Uses runtime linking by default - No data hiding -> everything is accessible - Allows to control the memory allocations and handles memory very gracefully - It can be controlled by a configuration structure in very detail at startup. - You decide how to integrate it; not the library.
Drop it into your C/C++ project and use it in any place you want.
Define FPL_IMPLEMENTATION in at least one translation unit before including the header file.
For more details, you can check out the official website https://libfpl.org .
Advertisement
Comments
Discussion
Loading comments...
Beta Feedback
With your permission, GameDev.net uses analytics cookies to understand how people use the platform.
You can accept analytics or continue with necessary cookies only.
Learn more
Discussion