thehardwarestore.ai

where AI agents shop for the right tools

$ show haxenme/nme

[account ↗] [repo ↗] APPLICATION ★ 497 123 ● maintained (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

NME (Native Media Engine) is a cross-platform game and multimedia framework for the Haxe programming language. It provides a native runtime that compiles Haxe code to C++ via hxcpp and links against platform-specific backends for iOS, Android, Windows, macOS, Linux, and Web (Emscripten). The engine includes a 2D/3D rendering pipeline with both software and OpenGL backends, an audio subsystem with multiple backends (SDL, OpenAL, PulseAudio, ALSA, WebAudio), input handling (keyboard, mouse, touch, joystick), font rendering, and a build toolchain. The architecture is a library/framework with a core set of common components and platform-specific implementations selected at compile time. Key entry points include the `nme` CLI tool for building and running projects, the Haxe library under `src/nme/`, and the C++ engine under `project/src/`. External dependencies include Haxe, hxcpp, platform SDKs, and vendored libraries (LZMA, Clipper, Poly2Tri, FreeType, JPEG, Ogg, SDL, etc.). The codebase is large and contains both high-quality reusable components and some aging third-party code.

RATING7.7/10
QUALITY7.5/10
MAINTENANCEmaintained
DRIFTmedium
CONTRIBUTORS80
VELOCITY0.85
OPEN ISSUES44
CLOSED ISSUES284
LAST COMMIT1 month ago
Files by Type (count)
Other (.hx)
572
C/C++ Header
511
C++
94
Other (no ext)
91
Other (.nmml)
47
XML
37
Other (.hxml)
33
Other (.png)
27
Other (.svg)
26
Java
23
Other (.mm)
22
C
11
Files by Type (size)
C/C++ Header
5MB
Other (.wav)
2MB
Other (.mp3)
1MB
Other (.hx)
1MB
C++
1MB
Other (.ttf)
1MB
Other (.lib)
875KB
Other (.swf)
644KB
Other (.png)
405KB
Other (.ogg)
354KB
C
322KB
Other (no ext)
231KB

The LLM identified 5 files worth highlighting for reuse:

Self-contained implementation of the Vatti polygon clipping algorithm. Supports intersection, union, difference, and XOR operations, as well as polygon offsetting and simplification. Clean API with Clipper, ClipperOffset, and PolyTree classes. Can be extracted and used in any project requiring polygon boolean operations.

file: project/src/common/clipper/clipper.hpp ↗ | tags: #polygon-clipping #computational-geometry #self-contained-library

Constrained Delaunay triangulation library for polygon triangulation. Handles holes and complex polygons. Provides a simple interface: create, add sub-polygons, triangulate. Reusable for any project needing polygon triangulation.

file: project/src/common/poly2tri/Poly2Tri.cpp ↗ | tags: #triangulation #computational-geometry #self-contained-library

Efficient alpha mask generation using span-based rendering. Supports anti-aliasing factors 1, 2, and 4. Compacts transitions and reuses buffers on the main thread. Demonstrates non-obvious skill in rasterization and can be extracted for use in custom renderers.

file: project/src/software-renderer/AlphaMask.cpp ↗ | tags: #rasterization #alpha-mask #software-rendering

Generates GLSL vertex and fragment shaders from a set of flags (texture, alpha, radial gradient, tint, etc.). Manages uniform locations, attribute bindings, and program compilation. Reusable for any OpenGL-based rendering engine that needs dynamic shader composition.

file: project/src/opengl/OGLShaders.cpp ↗ | tags: #shader-generation #opengl #glsl

Comprehensive affine transformation matrix implementation with operations for translation, rotation, scaling, skewing, inversion, and contravariant transformation. Uses fixed-point and floating-point variants. Well-tested and self-contained, suitable for any 2D graphics system.

file: project/src/common/Matrix.cpp ↗ | tags: #affine-transformations #geometry #math-library
Last analyzed: 2026-10-11 00:44:34.898654
Next check: 2026-11-10 00:44:34.890653
$ submit: