A Collection of C/C++ libraries for game development
Lib | Title |
---|---|
bkaradzic/bx | Base library |
septag/sx | Portable base library for C programmers, tailored for performance and simplicity |
nothings/stb | stb single-file public domain libraries for C/C++ |
RandyGaul/cute_headers | One-file C/C++ libraries with no dependencies, primarily used for games |
vurtun/mmx | single header libraries for C/C++ |
zpl-c/zpl | Your C99 Powerkit |
Lib | Title |
---|---|
g-truc/glm | OpenGL Mathematics (GLM) |
recp/cglm | Optimized OpenGL/Graphics Math (glm) for C |
google/mathfu | C++ math library developed primarily for games focused on simplicity and efficiency. |
ferreiradaselva/mathc | Pure C math library for 2D and 3D programming |
demianmnave/CML | The Configurable Math Library http://cmldev.net |
sce_vectormath | Vector math library |
Imath | Imath |
Handmade-Math | A simple math library for games and computer graphics. |
Lib | Title |
---|---|
SDL | Simple DirectMedia Layer |
glfw | A multi-platform library |
gainput | C++ input library for games |
wgois/OIS | Object oriented Input System https://wgois.github.io/OIS/ |
ziacko/TinyWindow | a cross platform (Linux and Windows) OpenGL window library in a single header |
nyorain/ny | Modern C++ cross-platform window abstraction |
Lib | Title |
---|---|
rhoot/sc | Cross platform co-routine library exposed through a minimal C API |
deboost.context | "Deboostified" version of boost.context (coroutines), Plain and simple C API for context switching. Easy build on multiple platforms. |
SergeyMakeev/TaskScheduler | Multithreaded task scheduler experiments |
dougbinks/enkiTS | C++ and C multithreading task scheduler |
Freeeaky/fiber-job-system | Multi-Threaded Job System using Fibers |
RichieSams/FiberTaskingLib | A library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies. |
JodiTheTigger/sewing | Small C API Multiplatform multithreaded fiber based job system |
Lib | Title |
---|---|
openal-soft | software implementation of the OpenAL 3D audio API |
soloud | Free, easy, portable audio engine for games |
BareRose/atomix | Portable, single-file, wait-free atomic sound mixing library utilizing SSE-accelerated mixing |
Lib | Title |
---|---|
librg | Pure C99 game networking library |
bkaradzic/bnet | Message oriented networking library using TCP transport |
zeromq/libzmq | ZeroMQ core engine in C++, implements ZMTP/3.1 http://www.zeromq.org |
rxi/dyad | Asynchronous networking for C |
lsalzman/enet | ENet reliable UDP networking library |
jarikomppa/ipc | Public domain, cross platform, single header inter-process communication primitives. This is a "stb like" public domain header-only C/C++ library that provides inter process communication functionality, released under unlicense. |
Lib | Title |
---|---|
p12tic/libsimdpp | Portable header-only zero-overhead C++ low level SIMD library |
VcDevel/Vc | SIMD Vector Classes for C++ |
Lib | Title |
---|---|
bkaradzic/bgfx | Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. |
DiligentGraphics/DiligentEngine | A modern cross-platform low-level 3D graphics library that supports Direct3D11, Direct3D12, OpenGL/GLES, Vulkan and Metal |
Kode/Kore | Modern low level game library and hardware abstraction |
floooh/sokol | minimal cross-platform standalone C headers |
floooh/oryol | A small, portable and extensible C++ 3D coding framework |
pplux/px | Single header C++ Libraries for Thread Scheduling, Rendering |
google/filament | Filament is a real-time physically based rendering engine for Android, Windows, Linux and macOS |
intel/fastuidraw | library that provides a higher performance Canvas interface |
mosra/magnum | Lightweight and modular C++11/C++14 graphics middleware for games and data visualization |
GPUOpen-LibrariesAndSDKs/V-EZ | V-EZ is an open source, cross-platform (Windows and Linux) wrapper intended to alleviate the inherent complexity and application responsibility of using the Vulkan API. |
ssloy/tinyrenderer | A brief computer graphics / rendering course |
Lib | Title |
---|---|
ocornut/imgui | Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies |
vurtun/nuklear | A single-header ANSI C gui library |
andlabs/libui | Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports |
rxi/microui | Tiny immediate-mode UI library |
julianeisel/bWidgets | Basic UI widget toolkit designed for Blender |
Lib | Title |
---|---|
buserror/libc3 | Lightweight C Scene Graph Library |
Lib | Title |
---|---|
skypjack/entt | A fast and reliable entity-component system (ECS) and much more |
redxdev/ECS | C++ single-header entity component system library |
alecthomas/entityx | EntityX - A fast, type-safe C++ Entity-Component system |
discoloda/Diana | Entity Component system like Artemis implemented in C |
Lib | Title |
---|---|
guillaumeblanc/ozz-animation | Open source c++ skeletal animation library and toolset |
google/motive | A cross-platform, memory efficient, and performant animation system written in C++ http://google.github.io/motive/ |
Lib | Title |
---|---|
NVIDIAGameWorks/PhysX | NVIDIA PhysX SDK 4 |
bulletphysics/bullet3 | Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc. |
MADEAPPS/newton-dynamics | Newton Dynamics is an integrated solution for real time simulation of physics environments. http://www.newtondynamics.com |
erincatto/Box2D | Box2D is a 2D physics engine for games http://box2d.org |
AvtechScientific/ASL | Advanced Simulation Library - hardware accelerated multiphysics simulation platform. http://asl.org.il |
gjk.c | Gilbert-Johnson-Keerthi (GJK) collision detection algorithm |
nudge | A small data-oriented and SIMD-optimized 3D rigid body physics library. |
gpu sph fluids | GPU SPH fluids |
phyx | 2D physics engine with SoA/SIMD optimizations |
ParticleSolver | CPU and GPU implementations of a particle-based physics |
PlayRho | Real-time oriented physics engine and library that's currently best suited for 2D games |
Chipmunk2D | A fast and lightweight 2D game physics library. |
PositionBasedDynamics | PositionBasedDynamics is a library for the physically-based simulation of rigid bodies, deformable solids and fluids |
Lib | Title |
---|---|
jps | Jump Point Search, public domain, single .h (Super fast pathfinding on uniform grids) |
astar-algorithm-cpp | Implementations of the A* algorithm in C++ and C# |
MicroPather | A* solver (astar or a-star) written in platform independent C++ |
recastnavigation | Navigation-mesh Toolset for Games |
Lib | Title |
---|---|
symisc/unqlite | An Embedded NoSQL, Transactional Database Engine |
Lib | Title |
---|---|
libigl | Simple C++ geometry processing library |
MathGeoLib | library for linear algebra and geometry manipulation for computer graphics |
sseculling | SSE Frustum Culling Demo |
Cullminator9000 | The fastest culler ever |
SeamAwareDecimater | Mesh simplification with UV's boundary preserved |
zeux/meshoptimizer | Mesh optimization library that makes indexed meshes more GPU-friendly |
Lib | Title |
---|---|
assimp | Official Open Asset Import Library Repository. Loads 40+ 3D file formats into one unified and clean data structure |
nem0/OpenFBX | Lightweight open source FBX importer |
syoyo/tinyobjloader | Tiny but powerful single file wavefront obj loader |
syoyo/tinygltf | Header only C++ Tiny glTF 2.0 loader. |
Lib | Title |
---|---|
caosdoar/Fornos | GPU Texture Baking Tool. A fast and simple tool to bake your high-poly mesh details to textures. |
kmkolasinski/AwesomeBump | AwesomeBump generate normal, height, specular or ambient occlusion textures from a single image |
dariomanesku/cmft | Cross-platform open-source command-line cubemap filtering tool |
Cheetah-Texture-Packer | High efficient and fast 2D bin packing tool |
thekla_atlas | Atlas Generation Tool |
Lib | Title |
---|---|
fungos/cr | cr.h: A Simple C Hot Reload Header-only Library |
Manu343726/ctti | Compile Time Type Information for C++ |
easy_profiler | Lightweight profiler library for c++ |
spdlog | Fast C++ logging library. |
color | C++ library thats implemets class color |
libmorton | C++ header-only library with methods to efficiently encode/decode Morton codes |
pugixml | Light-weight, simple and fast XML parser for C++ with XPath support |
opengex | Scene format specification |
rxi/log.c | A simple logging library implemented in C99 |