gl-matrix is a high-performance JavaScript library for vector and matrix math, purpose-built for real-time 3D graphics and physics simulations. It stores all vectors and matrices as typed arrays (Float32Array or Float64Array) in column-major order, matching the memory layout expected by OpenGL and WebGL shaders without requiring transposition. The library is implemented from scratch with zero external dependencies, keeping its bundle size minimal for web and Node.js…
The main features of toji/gl-matrix are: 3D Math and Geometry Toolkits, Component-wise Math Operators, GPU-Compatible Typed Array Math, Typed Array Math Computations, Typed Array Math Cores, WebGL-Formatted Outputs, WebGL Matrix Formattings, Column-Major Matrix Libraries.
Open-source alternatives to toji/gl-matrix include: g-truc/glm — This project is a header-only C++ library designed for graphics mathematics, providing a comprehensive suite of… microsoft/directxtk — DirectXTK is a C++ library designed to simplify 2D and 3D graphics, audio, and input programming for DirectX… numbers/numbers.js — numbers.js is a comprehensive mathematics library for JavaScript that provides a collection of advanced functions for… 0hq/webgpt — WebGPT is a browser-based machine learning framework designed to execute transformer models entirely within the client… mikemcl/decimal.js — decimal.js is a JavaScript arbitrary precision library designed to perform mathematical calculations without the… nvidiagameworks/kaolin — Kaolin is a PyTorch 3D deep learning library providing a comprehensive suite of tools for 3D geometry processing,…
This project is a header-only C++ library designed for graphics mathematics, providing a comprehensive suite of vector, matrix, and quaternion types. It is built using template metaprogramming to generate mathematical primitives at compile time, eliminating the need for precompiled binary libraries and allowing for direct integration into existing build systems. The library is distinguished by its strict adherence to the OpenGL Shading Language specification, ensuring that mathematical results remain consistent across both CPU and GPU code. It provides specialized utilities for managing float
DirectXTK is a C++ library designed to simplify 2D and 3D graphics, audio, and input programming for DirectX applications. It serves as a comprehensive toolkit providing high-level wrappers for DirectX graphics, audio management, and input handling. The toolkit includes a graphics wrapper for loading textures and rendering 3D models and 2D sprites, alongside a dedicated audio manager for sound effects and 3D spatial audio. It also provides an input handler to track and process state updates from keyboards, mice, and gamepads. The library covers a broad capability surface including 3D math an
numbers.js is a comprehensive mathematics library for JavaScript that provides a collection of advanced functions for scientific computing and data analysis. It is designed to handle complex mathematical operations through a modular architecture, offering tools for calculus, statistics, linear algebra, and prime number analysis. The library distinguishes itself by providing explicit control over numerical precision, allowing users to define error thresholds and manage decimal accuracy to mitigate rounding discrepancies. This focus on precision is paired with a suite of computational tools tha
WebGPT is a browser-based machine learning framework designed to execute transformer models entirely within the client environment. By leveraging native web standards, it provides a zero-dependency runtime that enables local text generation without the need for backend server processing. The engine distinguishes itself by utilizing hardware-accelerated compute shaders to perform high-performance tensor computations directly on the user's graphics hardware. This approach allows for the execution of large language models locally, ensuring that all data processing remains private to the client d