8000 GitHub - 0Akise/Orbis: Fully Customizable UI system built upon SFML3 πŸ’«
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

0Akise/Orbis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

π“†©βššπ“†ͺ Orbis

Caution

Orbis is in a VERY EARLY stage of development. DO NOT use it for production-ready applications.

English πŸ‡¬πŸ‡§ | ζ—₯本θͺž πŸ‡―πŸ‡΅

grafik

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

Features

  • πŸ’  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

What's Derma?

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.

Requirements

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

Usage

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.

Install

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)

Build

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

Roadmap

  • implementation of DButton

Contribution

Please check CONTRIBUTION.md for guidelines and information on how to contribute to the project.

License

Orbis is available under MIT License. See LICENSE for details.

About

Fully Customizable UI system built upon SFML3 πŸ’«

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0