Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 1.19 KB

README.md

File metadata and controls

23 lines (19 loc) · 1.19 KB

OpenGL Mathematics for C

This is a C alternative of the C++ library glm. It was made referencing the GLSL specification as well. This is meant to be used in C11+ (C11, C18, C2x, etc...), you could use this no problem in earlier standards with a restricted feature set.

Features

  • All 38 GLSL types, and their related functions.
  • Exact GLSL constructor syntax.
  • Exact GLSL internal function syntax.
  • Zero cost swizzling for contiguous combinations of elements. (i.e. xy, gb)
  • All 20 GLSL vector types.
  • All 18 GLSL matrix types.
  • Camera helper functions.
  • Quaternions.
  • Static asserts for valid code generation.
  • Inline code generated by macros for all types. (Manually write expanded code into the C files)
  • Swizzling functionality.
  • FMV (Function Multi-Versioning) system for run-time optimization.
  • Manually optimize versions of common vector or matrix operations using inline assembly. (Intel SSE, Arm NEON, etc..)
  • Ability to build glm-c as a shared or a static library.
  • Custom format printing function.