/junkyard_gfx

A collection of open source projects for low level graphics dev

Primary LanguagePython

junkyard_gfx

Small C/C++ libraries for low level real-time graphics

header

General purpose

  • septag/sx - Portable base library for C programmers, tailored for performance and simplicity
  • rhoot/sp - Public domain string formatting micro-library for C++, based on python-style format strings
  • 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
  • rmitton/rjm - Various single-file C libraries.

Math

Geometry

Meshes

Texture Baking

Scenegraphs / ECS

Animation

Threading

  • 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

Physics and Collision

  • 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.

Renderers

  • bkaradzic/bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
  • google/filament - Filament is a real-time physically based rendering engine for Android, Windows, Linux and macOS
  • floooh/oryol - A small, portable and extensible C++ 3D coding framework
  • fastuidraw - library that provides a higher performance Canvas interface

Texture Packing

Sound

  • openal-soft - software implementation of the OpenAL 3D audio API
  • soloud - Free, easy, portable audio engine for games

Pathfinding and Navigation

  • 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

Input

  • SDL - Simple DirectMedia Layer
  • glfw - A multi-platform library
  • gainput - C++ input library for games

Misc

  • 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