recp/cglm

📽 Highly Optimized 2D / 3D Graphics Math (glm) for C

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on September 23rd, 2026
Created on September 11th, 2016
Open Issues & Pull Requests: 79 (+0)
GitHub issues: Enabled
Number of forks: 290
Total Stargazers: 3,020 (+0)
Total Subscribers: 48 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.0 days
Mean response time: 85.8 days
90th percentile: 12.4 days
Tracked items: 38

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 18
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 992 days
Stale 30+ days: 16
Stale 90+ days: 15

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feedback wanted (11)
  • enhancement (4)
  • bug (3)
  • feature request (3)
  • help wanted (3)
  • todo (2)
  • build (1)
  • build-bug (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

cglm is a C library for 2D and 3D graphics mathematics that provides highly optimized implementations of vector and matrix operations commonly needed in graphics programming.

The library solves the problem of performing graphics math efficiently in C by offering SIMD-optimized implementations across multiple instruction sets including SSE, AVX, and NEON. It provides three distinct API styles to suit different programming preferences: a header-only mode using the glm_ prefix, a struct API that takes parameters by copy and returns results rather than using pointers, and a linked mode for those who prefer traditional function calls. The tool is allocation-free and can be used entirely as a header-only library by including a single header file, or built and linked against using supported build systems.

Developers should choose this tool if they are writing graphics applications in C and need fast, ergonomic math functions without memory allocation overhead. It suits projects ranging from OpenGL applications to any graphics-heavy C code where performance matters. The library explicitly notes that C++ developers should consider the original GLM library instead. The struct API is particularly useful for developers who prefer functional programming patterns where variables can be marked const, while the header-only approach minimizes build complexity. Alignment of SIMD types is important to understand; the library handles necessary alignment by default but provides an unaligned mode for cases where alignment cannot be guaranteed.

The project maintains comprehensive documentation embedded in header files and available through external documentation. Build support spans multiple platforms and build systems with detailed platform-specific instructions provided. The codebase includes continuous integration testing and code quality monitoring through multiple tracking systems.