🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Final Platform Layer

A C99 single header file platform abstraction library

by Finalspace

Advertisement

About:

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.


How do I get started?

You download the latest release from the GitHub page:
https://github.com/f1nalspace/fin...lob/master/final_platform_layer.h

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 .

Last updated June 17, 2021
Status
In Development
Platforms
Engine
Other
Release Date
June 17, 2021
Advertisement