"neoGFX" -- a SDL2/OpenGL C++ game/GUI library, coming soon

Here is the latest video advertisement for neoGFX:

From the “neoGFX” website, http://neogfx.org:

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;
  • 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 XML using the included GUI designer tool;
  • CSS3 style sheet support with support for custom skins;
  • scripting engine (Lua);
  • sub-pixel text rendering;
  • “text_edit” widget supports multiple fonts, text colours (with optional gradient effects), colour emojis and rendering text in columns;
  • GPU shader rendered CSS3 compliant gradients with optional gaussian smoothing;
  • MVC (model-view-controller) related classes supporting robust and fast app design;
  • 2D (initially) game support: sprites and 2D physics;
  • 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.

Initial design goals will be:

  • for the API to be as clean and easy to use as possible;
  • no reliance on macro-based code generation used by certain other GUI libraries;
  • to be as fast as possible (after all this is C++) with compiled binaries having as small a memory footprint as possible with no huge redistributables;
  • 3rd party dependencies include: Boost, SDL, FreeType and HarfBuzz.