Caution
Orbis is in a VERY EARLY stage of development. DO NOT use it for production-ready applications.
English π¬π§ | ζ₯ζ¬θͺ π―π΅
(screenshot of basic_ui
example)
- A modern C++20 UI library built on SFML3, offering a highly customizable yet user-friendly interface for creating both 2D and 3D GUIs.
- Orbis provides support for developers who want to build applications and games with SFML without having to develop their own GUI system from scratch.
- π Header-only library for seamless integration
- π₯ Modern C++20 features for clean, efficient code
- β Built on SFML3 with Vulkan support
- π Highly customizable UI Components
- π¨ Intuitive API for rapid development
Derma means "Skin" in ancient Greek (the same derma as in dermatologist). Think of it like weapon skins in games - you have a base weapon that can be decorated with various designs. In the same way, Orbis's Derma system lets you build interactive GUIs with your design choices quickly and reliably. Create the structure once, then customize the appearance as needed.
- C++20 compiler (MinGW)
- SFML 3.0.0
- CMake 4 or higher
- Vulkan (not required for now, but planned for future versions)
for further information about SFML-Specific C++ compiling, check SFML3 Download Link. If possible, use LLVM-MinGW with UCRT which you can download from Here.
Check out example
folder for further information.
// Creates Frame you can draw and customize, such as HUD for your game.
auto& frame = *UI::Create(DType::DFrame);
frame.SetName("Main Frame")
.SetSize({400.0f, 200.0f})
.SetPosition({10.0f, 10.0f})
.DrawRect({380.0f, 180.0f}, {10.0f, 10.0f}, 0, sf::Color::White);
UI::ShowDermaList();
// in main game loop
UI::Update(window);
UI::Render(window);
- UI Class uses static/singleton pattern, which gives you direct control of how the UI should work.
- by chaining commands with dots, you can control your Derma components with high customizability.
add the follwing lines to your project's CMakeLists.txt
:
include(FetchContent)
FetchContent_Declare(
Orbis
GIT_REPOSITORY https://github.com/0Akise/Orbis.git
GIT_BRANCH master
)
FetchContent_MakeAvailable(Orbis)
target_link_libraries(my_project PRIVATE Orbis)
clone the repository and move into it:
git clone https://github.com/0Akise/Orbis.git
cd Orbis
and then build with CMake:
cmake -S . -B build -G "MinGW Makefiles"
cmake --build build --config Release
If you want to try out examples, run with following:
./build/example/{example_name}/{example_name}.exe // Windows
- implementation of DButton
Please check CONTRIBUTION.md
for guidelines and information on how to contribute to the project.
Orbis is available under MIT License. See LICENSE
for details.