30 open-source projects similar to recp/cglm, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar
Nuklear is a minimal, header-only graphical user interface toolkit written in C. It utilizes an immediate-mode rendering model, where the interface is reconstructed and drawn directly within the application loop each frame. This approach eliminates the need for persistent widget state or complex synchronization between the interface and underlying application data. The library is designed for portability and integration into resource-constrained environments. It requires the host application to manage memory manually, allowing it to function in systems that lack standard library support. By d
C List - universal list solution for C and C++, easy and fast, all data types supported
lightmapper.h is a C/C++ single-file library for lightmap baking by using your existing OpenGL renderer.
An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库
Epoxy is a library for handling OpenGL function pointer management for you
Linenoise is a lightweight C library for terminal line editing, command history management, and asynchronous input processing. It functions as a self-contained alternative for capturing user input from the command line without requiring external dependencies. The utility provides a non-blocking input processor that handles keyboard data via a feed mechanism, allowing applications to process user typing and external events simultaneously. It supports the implementation of custom shells and REPLs through features such as callback-based autocompletion, input hinting, and a circular history buffe
sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements binary-safe storage by tracking string lengths explicitly, allowing the library to handle null characters within data. The library distinguishes itself through a memory architecture that uses interchangeable function pointers for allocation and freeing, enabling the integration of custom memory managers. It utilizes header-stored length tracking to provide constant-time length retrieval and maintains null-terminated buffer padding to ensure compatibility with standard C string
EasyLogger is a lightweight C/C++ logging library and asynchronous framework designed for embedded systems, IoT devices, and wearables. It functions as a resource-efficient logger and flash memory manager, providing tools for low-level debugging and system event recording with minimal ROM and RAM requirements. The project distinguishes itself through an asynchronous logging model that buffers messages to a separate thread, preventing logging operations from blocking real-time application execution. It includes a specialized flash memory manager that utilizes circular buffering to persist logs
Easy to use - simple API, works out of the box - Advanced filtering and log levels per topic or output - Thread-safety via external locking injection - Customization - only data you need - Extensible - add your own features via public API, set of predefined extensions - Support for embedded…
Up to 100x faster strings for C, C++, CUDA, Python, Rust, Swift, JS, & Go, leveraging NEON, AVX2, AVX-512, SVE, GPGPU, & SWAR to accelerate search, hashing, sorting, edit distances, sketches, and memory ops 🦖
Assimp is a cross-platform 3D asset pipeline and import library that loads numerous industry-standard 3D file formats into a single unified internal data structure. It functions as a framework for converting 3D models between different file formats across multiple operating systems and architectures. The project provides a 3D mesh processing tool for normalizing and optimizing geometry through triangulation, vertex removal, and normal generation. It also includes a 3D asset export utility to write internal scene data back into various external file formats. The system covers broad capability
data compression library for embedded/real-time systems
Aubio is an audio analysis and digital signal processing library designed for music information retrieval. It provides a suite of tools for extracting musical features, estimating fundamental frequencies, and tracking rhythmic pulses in audio streams. The library specializes in the detection of pitch and beat, enabling the extraction of musical notes and the estimation of overall tempo. It also includes capabilities for automatic onset detection to identify the start of sonic events and the separation of audio signals into percussive transients and steady-state tonal components. The system c
s2n is a C-based security library and TLS protocol implementation that serves as a secure network transport layer. It provides a modular cryptographic backend interface to encrypt data streams, manage handshakes, and handle mutual authentication between peers. The project focuses on post-quantum cryptography, integrating quantum-resistant key exchange and digital signatures to protect connections against future computing threats. It distinguishes itself through security hardening measures, such as memory-locked secret storage to prevent keys from being swapped to disk and timing-attack mitiga
Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies
QuickJS is a lightweight, memory-efficient JavaScript engine and runtime designed for embedding within C applications. It provides a small binary footprint and supports the latest ECMAScript standards, enabling the execution of JavaScript code with fast startup times and low memory usage. The project includes a standalone JavaScript compiler that transforms source code into independent binary executables. These files run on a machine without requiring an external language runtime. The engine implements deterministic memory management through reference counting and cycle collection. It also p
Simple .INI file parser in C, good for embedded systems
Elegant Fast Fourier Transform in C. Making fft.c from fftpack user-friendly.