eepp  by SpartanJ

Cross-platform framework for game/application development focused on rich GUIs

created 7 years ago
485 stars

Top 64.2% on sourcepulse

GitHubView on GitHub
Project Summary

SpartanJ/eepp is a cross-platform C++ framework for developing games and applications, with a strong emphasis on creating rich graphical user interfaces. It targets developers looking for a hardware-accelerated UI toolkit with a familiar layout system and extensive styling capabilities, aiming to simplify the creation of complex UIs for desktop and mobile applications.

How It Works

eepp employs a node-based scene management system and a comprehensive UI module that handles input events, animations, scaling, and theming. Its rendering capabilities span multiple OpenGL versions and ES, utilizing a batch renderer for efficiency. UI layouts are defined in XML and styled using a custom CSS implementation supporting many CSS2 and some CSS3 features, including animations and custom properties. The framework also includes a virtual file system for resource management and optional physics and map modules.

Quick Start & Requirements

Highlighted Details

  • Cross-platform support: Linux, Windows, macOS, Android, iOS, and HTML5 (via emscripten).
  • UI system inspired by Android layouts (LinearLayout, RelativeLayout, GridLayout) and styled with CSS.
  • Includes tools for UI editing, texture atlas creation, and map editing.
  • 7GUIs benchmark implemented, demonstrating UI capabilities.

Maintenance & Community

The project is primarily developed by SpartanJ, with acknowledgements to numerous contributors and libraries. The author notes the API is not fully stable but close to it, and the project is actively seeking contributors.

Licensing & Compatibility

  • License: MIT License.
  • Compatibility: Permissive MIT license allows for commercial use and integration into closed-source projects.

Limitations & Caveats

The author states the API is not fully stable, and documentation is only about 50% complete, with a focus on improving the UI module. Some older C++ practices exist in the codebase, though newer code is more modern. The Maps module may be deprecated in favor of UI system improvements.

Health Check
Last commit

5 days ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
1
Star History
17 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 14 hours ago
Feedback? Help us improve.