All Projects → i42output → Neogfx

i42output / Neogfx

Licence: gpl-3.0
Cross-platform GPU-oriented C++ application/game framework

Programming Languages

lua
6591 projects
cpp
1120 projects

Projects that are alternatives of or similar to Neogfx

Skin.refocus
reFocus, a skin for Kodi
Stars: ✭ 72 (-80.11%)
Mutual labels:  xml, gui, skin
Nplusminer
NPlusMiner + GUI | NVIDIA/AMD/CPU miner | AI | Autoupdate | MultiRig remote management
Stars: ✭ 75 (-79.28%)
Mutual labels:  gpu, gui
Open3d
Open3D: A Modern Library for 3D Data Processing
Stars: ✭ 5,860 (+1518.78%)
Mutual labels:  gpu, gui
Visbrain
A multi-purpose GPU-accelerated open-source suite for brain data visualization
Stars: ✭ 172 (-52.49%)
Mutual labels:  gpu, gui
Slip
Slip.js — UI library for manipulating lists via swipe and drag gestures
Stars: ✭ 2,421 (+568.78%)
Mutual labels:  gui, widget
Lqt
Lua Binding for Qt5
Stars: ✭ 30 (-91.71%)
Mutual labels:  luajit, gui
Touch Bar Istats
Show CPU/GPU/MEM temperature on Touch Bar with BetterTouchTool!
Stars: ✭ 141 (-61.05%)
Mutual labels:  gpu, widget
Clrcli
CLRCLI is an event-driven library for building line-art user interfaces in C#/.Net command-line applications.
Stars: ✭ 124 (-65.75%)
Mutual labels:  gui, widget
Material Bottomnavigation
Bottom Navigation widget component inspired by the Google Material Design Guidelines at https://www.google.com/design/spec/components/bottom-navigation.html
Stars: ✭ 1,375 (+279.83%)
Mutual labels:  xml, widget
Essa
Embeddable SCADA for Small Applications
Stars: ✭ 7 (-98.07%)
Mutual labels:  xml, widget
Fltkhs
Haskell bindings to FLTK GUI toolkit.
Stars: ✭ 187 (-48.34%)
Mutual labels:  gui, widget
Amplesdk
Ample SDK - JavaScript UI Framework
Stars: ✭ 169 (-53.31%)
Mutual labels:  xml, gui
Qui
【此项目作者为刘典武,不是我自己的原创项目,望周知。也请大家不要骚扰刘典武。】一个用Qt开发的用来生成QSS文件的小程序,附简单Demo,主程序本身也可以看作一个很好的Demo。
Stars: ✭ 168 (-53.59%)
Mutual labels:  gui, skin
Goluwa
a game framework written in luajit
Stars: ✭ 173 (-52.21%)
Mutual labels:  luajit, gui
Tabtoolbar
A small library for creating tabbed toolbars
Stars: ✭ 129 (-64.36%)
Mutual labels:  gui, widget
Bumblebee
🚕 A spreadsheet-like data preparation web app that works over Optimus (pandas, dask, cuDF, dask-cuDF and PySpark)
Stars: ✭ 86 (-76.24%)
Mutual labels:  gpu, gui
Pyrustic
Lightweight framework and software suite to help develop, package, and publish Python desktop applications
Stars: ✭ 75 (-79.28%)
Mutual labels:  gui, widget
Iced
A cross-platform GUI library for Rust, inspired by Elm
Stars: ✭ 12,176 (+3263.54%)
Mutual labels:  gui, widget
X11docker
Run GUI applications and desktops in docker and podman containers. Focus on security.
Stars: ✭ 3,797 (+948.9%)
Mutual labels:  gpu, gui
Binding.scala
Reactive data-binding for Scala
Stars: ✭ 1,539 (+325.14%)
Mutual labels:  xml, gui

Introduction

neoGFX is a C++ app/game engine and development platform targeted at app and game developers that wish to leverage modern GPUs for performant application user interfaces and game graphics. neoGFX is still a work in progress (incomplete) so is not yet suitable for making apps or games. Currently neoGFX has only been built for and tested on Windows.

neoGFX uses C++20 features; although C++20 compiler support is currently patchy this isn't a problem given the expected neoGFX 1.0 release date of Q4, 2021.

Features (when version 1.0 released)

  • clean modern C++ design including full exception safety supporting various widget allocation patterns (stack, member variable or free store);
  • use of standard non-proprietary C++ data types including using standard string classes (UTF-8 encoding) and containers from the C++ standard library;
  • simple, easy to use multi-threaded event system (an improvement over traditional signals and slots);
  • no baggage: neoGFX primarily contains only the GUI and graphics related functionality needed for creating apps and games;
  • full library of widgets and layout managers specifiable in an RJSON (Relaxed JSON) derived declarative UI description language drag/drop editable using the included design tool, neoGFX Design Studio;
  • CSS3 style sheet support with support for custom skins;
  • scripting engine, neos, that will be able to support a wide range of scripting languages (on release: neoscript, JavaScript and Lua);
  • sub-pixel text rendering;
  • simple window style for specifying that a window is "nested" rather than being a separate native desktop window;
  • "text_edit" widget supports multiple fonts, text colours (with optional gradient effects), colour emojis and rendering text in columns;
  • "Green" and "Arcade" modes to optimize CPU power consumption, fight #ClimateChange!
  • GPU shader rendered CSS3 compliant gradients with optional gaussian smoothing;
  • MVC (model-view-controller) related classes supporting robust and fast app design;
  • optional MDI support utilizing "nested" windows;
  • 2D, 2.5D and 3D game support: sprites, objects and physics;
  • Pure ECS (Entity-component-system) usable by both games and apps;
  • flexible asset management: texture images (e.g PNGs) can be stored in .zip archives which can be optionally embedded inside the program binary accessible using simple URLs;
  • support for OpenGL, DirectX and Vulkan.

Roadmap

Version ETA Features
v0.99 Q3, 2021 Windows OpenGL; widget library feature complete; UI design tool
v1.00 Q4, 2021 Linux OpenGL; scripting engine
v1.10 Q2, 2022 Vulkan; Android support; physics engine
v1.20 Q4, 2022 macOS support

Implementation Progress

Feature % done TODO
Window 95 Drop shadow
Dialog 90 Default button
Message Box 100
Menu 100
Nested windows 25
MDI 0
Tabs 95 Vertical tabs
Toolbars 90 Drop-down button support
Layout Managers 95 Need to fully support size policies
Label 100
Button 100
Table View 95 Selection; cell widget
Tree View 95
List View 95
Text Edit 85 Columns; rich text (HTML); undo/redo; performance optimization
Line Edit 100
Spin Box 100
Slider 90 Keyboard
Check Box 100
Radio Button 100
Combo Box 95 Glob and regex filters; review UX.
Group Box 100
Tool Tips 0
Status Bar 100
Progress Bar 0
Docks 75
Font Picker 95 Font selection widget
Colour Gradient Selector 95 Swatch library
Colour Picker 100
Date/Time 0
File Browsers (Native) 99
Drag and drop 75
UI/Resource Description (RJSON) 40
tool: neoGFX Design Studio 10
i18n 40
l10n 0 UK English, US English, French, German, Chinese
HID: Game Controllers 80 Calibration/settings UI; DirectInput button mapping
Multi-monitor 50 DPI changes when changing or dragging between monitors
Scene Graph 0
Skins 40

Last updated: 10/10/2020

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].