Skip to content

Instantly share code, notes, and snippets.

@Reedbeta
Last active July 4, 2023 02:38
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save Reedbeta/e17fad168579531ddc9656ce85bbe2a3 to your computer and use it in GitHub Desktop.
Save Reedbeta/e17fad168579531ddc9656ce85bbe2a3 to your computer and use it in GitHub Desktop.
Interesting libraries I might like to use in a project
Interesting libraries I might like to use in a project...
Asset loading:
assetsys.h - virtual filesystem with ZIP backing, overlaying, etc https://github.com/mattiasgustavsson/libs/blob/master/docs/assetsys.md
cute_filewatch.h - file modification watching, for runtime reloading etc https://github.com/RandyGaul/cute_headers/blob/master/cute_filewatch.h
flatbuffers - data serialization, zero-copy deserialization, extensible schemas https://github.com/google/flatbuffers
stb_image - https://github.com/nothings/stb/blob/master/stb_image.h
tinyexr - https://github.com/syoyo/tinyexr
tinygltf - https://github.com/syoyo/tinygltf
tinyobjloader - https://github.com/syoyo/tinyobjloader
Compression & optimization:
LZ4 - https://github.com/lz4/lz4
basis_universal - https://github.com/BinomialLLC/basis_universal
meshoptimizer - https://github.com/zeux/meshoptimizer
Concurrent containers:
junction - concurrent hashmaps https://github.com/preshing/junction
Hashes:
xxHash - https://github.com/Cyan4973/xxHash
Meow Hash - superfast, requires AES instructions https://github.com/cmuratori/meow_hash
Hash tables:
Parallel Hashmap - fast open addressing hashtable, drop-in replacement for unordered_map
(not threadsafe; name refers to SIMD parallel lookups) https://github.com/greg7mdp/parallel-hashmap
robin-map - fast open addressing hashtable with robin hood hashing and backward shift deletion https://github.com/Tessil/robin-map
Language tooling:
enumerate - get both index and item when iterating http://www.reedbeta.com/blog/python-like-enumerate-in-cpp17/
explicit - implements out-params, tagged bools, etc for C++ https://github.com/akrzemi1/explicit
Logging:
spdlog - https://github.com/gabime/spdlog
Math:
GPU-Noise-Lib - https://github.com/BrianSharpe/GPU-Noise-Lib
libmorton - 2D Morton codes using BMI2 instruction set https://github.com/Forceflow/libmorton
linalg - https://github.com/sgorsten/linalg
rnd.h - PCG, Xorshift, couple others https://github.com/mattiasgustavsson/libs/blob/master/docs/rnd.md
Strings:
fmt - type-safe string formatting https://github.com/fmtlib/fmt
str - string class with local buffer & overflow to heap https://github.com/ocornut/str
strpool.h - string interning https://github.com/mattiasgustavsson/libs/blob/master/docs/strpool.md
unicorn - unicode string and file handling, including normalization & regexes https://github.com/CaptainCrowbar/unicorn-lib
Task scheduling:
enkiTS - work-stealing thread pool, supports nested parallelism & enumerated task sets https://github.com/dougbinks/enkiTS
px_sched.h - minimal thread pool and sync points https://github.com/pplux/px/blob/master/README_px_sched.md
UI:
dear imgui - https://github.com/ocornut/imgui
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment