matrixcascade/PainterEngine logo

matrixcascade/PainterEngine

Free

PainterEngine is a application/game engine with software renderer,PainterEngine can be transplanted to any platform that supports C

FreeFree tier
Type
Open Source

About matrixcascade/PainterEngine

PainterEngine is a cross-platform application and game engine written entirely in C, featuring a software renderer that can run on any platform with a C compiler. It supports Windows, Linux, iOS, Android, WebAssembly, HarmonyOS, and bare-metal embedded systems. The engine encompasses a comprehensive set of modules including memory management, mathematics, digital signal processing, data structures, cryptography, a BP neural network framework, image/audio/font decoding, 2D/3D rendering, animation (2D and Live2D-like bone animation), acoustic models (mixer, piano, plucked string), a complete script engine with compiler and debugger, a UI framework, communication protocols (MQTT, MODBUS, game synchronization), and even an FPGA-based GPU 2D accelerator. PainterEngine is component-based, easy to learn even for C beginners, and comes with PainterEngine Make for one-click cross-platform compilation. It can be used for micro-applications, games, embedded graphical interfaces, or as a learning project covering many areas of computer science.

Key Features

Software-based 2D/3D renderer with high-quality drawing engine
Component-based architecture, easy to use even for C beginners
Supports Windows, Linux, iOS, Android, WebAssembly, HarmonyOS, and bare-metal embedded platforms
Built-in script engine with compiler, virtual machine, and debugger
Includes math library, signal processing (DFT/DCT/FFT/DWT), cryptography (AES, SHAx, MD5, curve25519)
BP neural network framework for classification tasks
Image decoding (PNG, JPG, GIF, BMP) and encoding (PNG, WAV)
Audio support: WAV/MP3 decoding, WAV encoding, acoustic models (mixer, piano, plucked string)
UI framework with common widgets (button, radio, image, edit, label, list)
Protocol support: MQTT, MODBUS, game-network-synchronization

Pros & Cons

Pros
  • Free and open source (MIT license)
  • Highly portable: runs on any platform with a C compiler, including bare-metal embedded systems
  • Comprehensive built-in modules reduce need for external libraries
  • Component-based design makes it beginner-friendly
  • PainterEngine Make enables easy multi-platform deployment
  • Includes both software rendering and an optional FPGA hardware accelerator
Cons
  • Software renderer may be less performant than hardware-accelerated engines (e.g., OpenGL/DirectX based)
  • Documentation primarily in Chinese; English README has limited details
  • Relatively small community and ecosystem compared to mainstream engines like Unity or Unreal
  • No built-in visual editor; development is code-centric

Best For

Developing cross-platform games and interactive applicationsBuilding graphical user interfaces for embedded systems with or without a displayEducational tool for learning computer graphics, signal processing, compilers, and neural networksRapid prototyping of graphical applications on any platformRemote display server for devices lacking a physical display (via VisualOS)FPGA-based graphics acceleration development and verification

FAQ

What is PainterEngine?
PainterEngine is a cross-platform application and game engine written in C with a software renderer. It can be transplanted to any platform that supports C compilation.
How do I include PainterEngine in my project?
Simply add #include "PainterEngine.h" to your source file and use PainterEngine_Initialize to create a graphical window.
What platforms does PainterEngine support?
It supports Windows, Linux, iOS, Android, WebAssembly, HarmonyOS, and even bare-metal embedded platforms without an operating system.
Is PainterEngine free?
Yes, PainterEngine is completely free and open source under the MIT license.
Does PainterEngine include a scripting language?
Yes, it includes a complete script engine with a compiler, virtual machine, and debugger.
Can I use PainterEngine with FPGA hardware acceleration?
Yes, PainterEngine provides an FPGA-GPU 2D accelerator IP core that has been verified on Zynq7000 series SoCs.