<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en-GB">
  <siteinfo>
    <sitename>neoGFX</sitename>
    <dbname>neogfx</dbname>
    <base>https://neogfx.io/wiki/index.php?title=Main_Page</base>
    <generator>MediaWiki 1.40.1</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">NeoGFX</namespace>
      <namespace key="5" case="first-letter">NeoGFX talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Main Page</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>31</id>
      <parentid>30</parentid>
      <timestamp>2024-05-05T17:44:57Z</timestamp>
      <contributor>
        <username>Leigh</username>
        <id>1</id>
      </contributor>
      <origin>31</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="2178" sha1="68mj11u6iv6jqzd0iisikmo3mt146al" xml:space="preserve">&lt;strong&gt;neoGFX C++ Application/Game Engine and Development Platform -- Coming Soon&lt;/strong&gt;

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

== Features ==
* clean modern C++20 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 and Boost where possible;
* 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 RJSON (Relaxed JSON) using the included GUI designer tool;
* 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'' 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 "Turbo" 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 and Vulkan.

== Featured Pages ==
* '''[[Naming Convention]]'''
* '''[[Event System]]'''</text>
      <sha1>68mj11u6iv6jqzd0iisikmo3mt146al</sha1>
    </revision>
  </page>
</mediawiki>
