AwesomeCppGameDev
by Caerind
A curated list of awesome C++ (mainly) things for Game Development. Inspired by awesome-... stuff.
AI summary
Game Dev Toolkit
A curated list of C++ libraries and tools for game development
- stars
- 1.7K
- forks
- 134
- watching
- 63
- awesome list
- 1
- entries
- 1,990
What's in the list
1,990 links in 85 sections, with live GitHub stats.activeno commit in 2y
C++
rangeless
: c++ LINQ -like library of higher-order functions for data manipulation
variant
: C++17 for C++11/14/17
tweeny
: A modern C++ tweening library
arrow
: Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for effic…
EAMain
: EAMain provides a multi-platform entry point used for platforms that don't support console output, return codes and command-line arguments
cxx14-graph
: A C++ 14 implementation of graph data structures
lex
: C++14 fast and efficient tokenizer
lager
: C++ library for value-oriented design using the unidirectional data-flow architecture (Redux for C++)
cpp-std-fwd
: forward declarations for C++ std headers
hedley
: A C/C++ header to help move #ifdefs out of your code
scnlib
: scanf for modern C++
scope_guard
: Scope Guard & Defer C++
pdbex
: pdbex is a utility for reconstructing structures and unions from the PDB into compilable C headers
optional-lite
: optional lite - A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library
- libinsanity
: libc functions (and related) without bugs mandated by standard C or common OSes
kangaru
: A dependency injection container for C++11, C++14 and later
CppCoreGuidelines
: The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
span-lite
: span lite - A C++20-like span for C++98, C++11 and later in a single-file header-only library
replxx
: A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed
stateful_pointer
: Use unused bits in your pointer
type_erasure_and_dispatch
: Code related to ACCU meet up talk
modern-cpp-features
: A cheatsheet of modern C++ language and library features
msgpack11
: A tiny MessagePack library for C++11 (msgpack.org[C++11])
trackable_ptr
: Smart pointer for any movable objects. When trackable object moved/destroyed, trackers updated with new object's pointer
reactive
: Simple, non intrusive reactive programming library for C++. (Events + Observable Properties + Reactive Properties)
liberasure
: A no-dependencies C++ extensible type erasure library
any
: A simple variant type for C++
FastDynamicCast
: Fast dynamic cast in C++ for MSVC, outperforming the regular dynamic cast by up to 25 times
0xABAD1DEA
: Static global objects with constructors and destructors made useful in C++
PubBus
: A simple implementation of a MessageBus
cppbestpractices
: Collaborative Collection of C++ Best Practices
emscripten
: Emscripten: An LLVM-to-Web Compiler
gcpp
: Experimental deferred and unordered destruction library for C++
patterns
: Pattern Matching in C++
cmcstl2
: An implementation of C++ Extensions for Ranges
invoke.hpp
: std::invoke/std::apply analogs for C++14
- cppbackport
: A backport of C++11/14/17 features to earlier versions
libuv
: Cross-platform asynchronous I/O
uvw
: Header-only, event based, tiny and easy to use libuv wrapper in modern C++
opt
: Class template designed to express optionality without having to sacrifice memory to store additional bool flag
undo
: C++ library to implement non-linear undo/redo functionality
Configuru
: Experimental config library for C++
strong_typedef
: A class template that creates a new type that is distinct from the underlying type, but convertible to and from it
dry-comparisons
: C++17 Utility classes for comparing multiple values in one simple expression
determine_c_or_cpp
: Determine programatically C from C++ as well as various versions
optional
: C++11/14/17 std::optional with functional-style extensions and reference support
promise-cpp
: C++ promise/A+ library in Javascript style
mod
: MASTERS of DATA, a course about videogames data processing and optimization
ring-span-lite
: ring-span lite - A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library
outcome
: Provides very lightweight outcome
semver
: A C++ Library for Dealing with Semantic Versioning
cpp-cheatsheet
: Modern C++ Cheatsheet
BareMetalLib
: A C++ support library for bare-metal programming
Mastering-Cpp-Game-Development
: Code files for Mastering C++ Game Development, published by Packt
strong_type
: C++ implementation of strong types
type_safe
: Zero overhead utilities for preventing bugs at compile time
C++ / Bits
BigInt
: BigInt in C++ using bitset
huge-long-number
: This is an implementation of arbitrary range of integers written in C++14
- BigInteger
: Be limited not by the size of your register but by the bulk of your RAM
bitmask
: A generic implementation of the BitmaskType C++ concept
BigInteger
: An Implementation of BigInteger library in C++
bigint
: A lightweight big integer library for c++
bitwise
: Bitwise is an educational project where we create the software/hardware stack for a computer from scratch
- varint
: Variable-length integer encodings
mppp
: Multiprecision for modern C++
enum-flags
: Bit flags for C++11 scoped enums
C++ / MultiThreading
marl
: A hybrid thread / fiber task scheduler written in C++ 11
EAThread
: EAThread implements a unified cross-platform interface for multithreaded programming
arcana.cpp
: Arcana.cpp is a collection of helpers and utility code for low overhead, cross platform C++ implementation of task-based asynchrony
relacy
: Automatically exported from code.google.com/p/relacy
partr
: Parallel Tasks Runtime
deadlockempire.github.io
: The Deadlock Empire: Slay dragons, learn concurrency!
MAN
: Man is Thread Pool in C++17
cpp-concurrency
: cpp implementation of golang style concurrency
tbb
: Official Threading Building Blocks (TBB) GitHub repository. For Commercial Intel® TBB distribution, please click here:
bikeshed
: Lock free hierarchical work scheduler
lucy_job_system
: Fiber-based job system with extremely simple API
libgo
: Go-style concurrency in C++11
ThreadPool
: A fastest, exception-safety and pure C++17 thread pool
thread_pool
: Thread pool using std::* primitives from C++17, with optional priority queue/greenthreading for POSIX
concurrentqueue
: A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
ck
: Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance conc…
GTS-GamesTaskScheduler
: A task scheduling framework designed for the needs of game developers
cpp-taskflow
: Modern C++ Parallel Task Programming Library
cppcoro
: A library of C++ coroutine abstractions for the coroutines TS
cpp-taskflow
: A Modern C++ Parallel Task Programming Library
mx
: C++ coroutine await, yield, channels, i/o events (single header + link to boost)
px
: Single header C++ Libraries for Thread Scheduling, Rendering, and so on
FiberTaskingLib
: A library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies
elle
: The Elle coroutine-based asynchronous C++ development framework
thread-pool
: Thread pool implementation using c++11 threads
thrust
: Thrust is a C++ parallel programming library which resembles the C++ Standard Library
enkiTS
: C++ and C multithreading task scheduler
enkiTSExamples
: Examples for enkiTS
fiber
: Header only cross platform wrapper of fiber API
px_sched
: Single Header C++11 Task Scheduler
termite-jobs
: Fast, multiplatform fiber based job dispatcher based on Naughty Dogs' GDC2015 talk
jobxx
: Lightweight C++ task system
thread-pool-cpp
: High performance C++11 thread pool
ThreadPool
: Lightweight, Generic, Pure C++11 ThreadPool
Scheduler
: Modern C++ Scheduling Library
dwThreadPool
: A simple, header-only, dependency-free, C++ 11 based ThreadPool library
CTPL
: Modern and efficient C++ Thread Pool Library
ThreadPool
: A simple C++11 Thread Pool implementation
Awl
: Awl (Asynchronous Work Library) is a C++ library that aims at making parallel programming as easy as possible
asio
: Asio C++ Library
MPMCQueue
: A bounded multi-producer multi-consumer lock-free queue written in C++11
coroutine
: C++11 single .h asymmetric coroutine implementation via ucontext / fiber
coro
: Single-header library facilities for C++2a Coroutines
executors
: C++ library for executors
parallel-util
: Simple header-only implementation of "parallel_for" and "parallel_map" for C++11
parallel-hashmap
: A family of header-only, very fast and memory-friendly hashmap and btree containers
concurrent-deque
: Lock-free concurrent work stealing deque in C++
ParallelComputingPlayground
: Shows different programming techniques for parallel computing on CPU and GPU
awesome-lockfree
: A collection of resources on wait-free and lock-free programming
C++ / Memory
dlmalloc
: Doug Lea's malloc
deluxe68
: A simple register allocator frontend for 68k assembly
KernelReadWriteMemory
: Simple code to manipulate the memory of a usermode process from kernel
mimalloc-bench
: Suite for benchmarking malloc implementations
allocator_bench
: bench of various memory allocators
mio
: Cross-platform C++11 header-only library for memory mapped file IO
snmalloc
: Message passing based allocator
mimalloc
: mimalloc is a compact general purpose allocator with excellent performance
hardened_malloc
: Hardened allocator designed for modern systems. It has integration into Android's Bionic libc and can be used externally with musl and glibc as a dynamic library for use on other Linux-based platfo…
objectpool
: Object pool implementation in C++11
rampin
: Try to make Windows preload file into RAM by memory mapping it
tgc
: A Tiny Garbage Collector for C
Mesh
: A memory allocator that automatically reduces the memory footprint of C/C++ applications
memory-dumper
: A tool for dumping files from processes memory
alloc-test
: Cross-platform benchmarking for memory allocators, aiming to be as close to real world as it is practical
memory-allocators
: Custom memory allocators in C++ to improve the performance of dynamic memory allocation
drmemory
: Memory Debugger for Windows, Linux, Mac, and Android
rpmalloc
: Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C
cpp-mempool
: C++ header-only mempool library
incppect
: Inspect C++ memory in the browser
- injection
: Windows process injection methods
tiny
: low-level library for minimizing the size of your types
memory
: STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write
C++ / Strings
ryu
: Converts floating point numbers to decimal strings
MengRao/str
: A SIMD optimized fixed-length string class along with an adaptive hash table for fast searching
inplace_string
: is a -like class template that stores text content in-place inside the class
arabtype
: a small and simple implementation that transform isolated arabic utf8 character strings into contextual forms
unify
: A C++11 function to normalize resource identificators
unicode
: C++ UTF-8 Strings and Utilities
ocornut/str
: Simple C++ string type with an optional local buffer
SuperString
: A fast and memory-optimized string library for C++
stdstring.h
: C string utils library (STB style, header-only)
text_view
: A C++ concepts and range based character encoding and code point enumeration library
- rapidstring
: Maybe the fastest string library ever
utfz
: Tiny C++ UTF-8 library - safe, no exceptions
utf8.h
: single header utf8 string functions for C and C++
tiny-utf8
: Unicode (UTF-8) capable std::string
str_view
: Null-termination-aware string-view class for C++
Obfuscate
: Guaranteed compile-time string literal obfuscation header-only library for C++14
stringencoders
: Fast c-string transformations
string-view-lite
: string_view lite - A C++17-like string_view for C++98, C++11 and later in a single-file header-only library
cutf
: utf-8 <> wchar_t conversion functions for C and C++
Apris
: String processor using banks and alternatives
string_id
: A small C++ library to handle hashed strings serving as identifiers
C++ / Parsers
inih
: Simple .INI file parser in C, good for embedded systems
simple-ini-reader
: Fast, Simple, Public Domain INI Reader written in C
rapidjson
: A fast JSON parser/generator for C++ with both SAX/DOM style API
json.h
: json parser for C and C++
ezxml
: ezxml - XML parser
jsmn
: Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket
fast_obj
: Fast C OBJ parser
cpptoml
: cpptoml is a header-only library for parsing TOML
nanocsv
: Multithreaded header only C++11 CSV parser
picojson
: a header-file-only, JSON parser serializer in C++
js0n
: Flexible Zero-Footprint JSON Parser in C
CppCmb
: A generic C++17 parser-combinator library with a natural grammar notation
obj_lib
: OBJ reader and writer library
ffmpeg-cpp
: A clean, easy-to-use C++ wrapper around the ffmpeg libraries
Parser-Combinators
: C++ parser combinator library
tinyply
: C++11 ply 3d mesh format importer & exporter
json
: Single file in-place JSON/SJSON parser
simdjson
: Parsing gigabytes of JSON per second
sajson
: Lightweight, extremely high-performance JSON parser for C++11
tinyddsloader
: Tiny DDS file loader
sjson-cpp
: An Simplified JSON (SJSON) C++ reader and writer
xlnt
: Cross-platform user-friendly xlsx library for C++14
assfile
: C library for accessing assets (read-only data) from many different sources, with an fopen/fread-like API
sjson
: Fast and portable single-header C file Json encoder/decoder
melo
: melo is mesh loader for OBJ, glTF2 and PLY
jo
: JSON output from a shell
huffandpuff
: Minimal Huffman coder/decoder
fbx
: C++ Library for reading and writing FBX files
csv-parser
: A modern C++ library for reading, writing, and analyzing CSV (and similar) files
enkiMI
: C and C++ Minecraft Importer library
sjson
: sjson: no {} needed around the whole file; "=" is allowed instead of ":"; quotes around the key are optional; commas after values are optional; read access through compile time hashes much faster t…
OpenFBX
: Lightweight open source FBX importer
fbx
: Single-file binary FBX importer
tinyobjloader
: Tiny but powerful single file wavefront obj loader
DevIL
: Developer's Image Library (DevIL) is a cross-platform image library utilizing a simple syntax to load, save, convert, manipulate, filter, and display a variety of images with ease. It is highly por…
json
: C++ header-only JSON library
glw_json
: Single-header fast and compact C++ library for JSON serialization, no memory allocation during parsing
svgpp
: C++ SVG library
Vili
: A nice and readable data format !
SimpleJSON
: Simple C++ JSON library
ini
: A tiny ANSI C library for loading .ini config files
cfgpath
: Cross platform C header for obtaining paths to user configuration files and directories
juson
: lightweight json parser in c
simpleini
: Cross-platform C++ library providing a simple API to read and write INI-style configuration files
jsonpack
: JsonPack is a high-performance and extremely easy-to-use JSON serialization library
yaml-cpp
: A YAML parser and emitter in C++
json
: JSON for Modern C++
pugixml
: Light-weight, simple and fast XML parser for C++ with XPath support
rapidcsv
: C++ CSV parser library
fast-cpp-csv-parser
: fast-cpp-csv-parser
csvstream
: An easy-to-use CSV file parser for C++
Qxlnt
: Use xlnt in Qt5. xlnt is cross-platform user-friendly xlsx library for C++14
Qlibxlsxwriter
: Use libxlsxwriter in Qt5. libxlsxwriter is a C library for creating Excel XLSX files
QSimpleXlsxWriter
: Use SimpleXlsxWriter in Qt5. SimpleXlsxWriter is C++ library for creating XLSX files for MS Excel 2007 and above
QXlsx
: Excel file(*.xlsx) reader/writer library using Qt5. Descendant of QtXlsx
simdjson
: Parsing gigabytes of JSON per second
DuckX
: C++ library for creating and updating Microsoft Word (.docx) files
inih
: This is a header only C++ version of inih
C++ / FileSystem
filesystem
: An implementation of C++17 std::filesystem for C++11 /C++14/C++17 on Windows, macOS and Linux
littlefs
: A little fail-safe filesystem designed for microcontrollers
watchman
: Watches files and records, or triggers actions, when they change
edwork
: Decentralized, distributed read-write filesystem
dr_fs
: Single file libraries for file system related stuff
apathy
: C++ Path Manipulation
filesystem
: A tiny self-contained path manipulation library for C++
tinydir
: Lightweight, portable and easy to integrate C directory and file reader
dirent
: C/C++ library for retrieving information on files and directories
whereami
: Locate the current executable and the current module/library on the file system
PhysFS
: Abstracts access to files distributed across separate archives
C++ / Reflection & Serialization
putils_reflection
A simple, stand-alone, header-only and easily pluggable reflection system
Vzor
: Vzor is a reflection library for C++, with interface in Python and C++, macroless, intrusiveless, working on top modern C++ attributes
magic_enum
: Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
tinyrefl
: A work in progress minimal C++ static reflection API and codegen tool
datalibrary
: Open Source Data Library for data serialization
enum_traits
: Type traits for properties of C / C++ enum types
enum_reflect
: A demo repo for enum_traits
cpgf
: cpgf library
meta
: Header-only, non-intrusive and macro-free runtime reflection system in C++
metareflect
: Metareflect is a lightweight reflection system for C++, based on LLVM and Clangs libtooling
zserio
: zero sugar, zero fat, zero serialization overhead
rttr
: C++ Reflection Library
cista
: Simple C++ Serialization
ponder
: C++ reflection library
tekari
: A visualization and editing tool for reflectance data
bitsery
: Your binary serialization library
tstype
: Lightweight C++ RTTI library
capnproto
: Cap'n Proto serialization/RPC system - core tools and C++ library
reflect
: easy reflection and serialization for C++17
cpp-serializers
: Benchmark comparing various data serialization libraries (thrift, protobuf etc.) for C++
cppexpose
: C++ library for type introspection, reflection, and scripting interface
iguana
: universal serialization engine
Reflex
: C++14 Reflection Library
reflect
: Reflection and serialization in C++
cpp-generic-serialize
: C++11 Header-only generic binary-serialization for arbitrary types (and nested containers)
rpoco
: (R)eflect (P)lain (O)ld (C)++ (O)bjects, is a small header based reflection system that supports JSON serialization,etc
CPP-Reflection
: C++ Reflection Parser / Runtime Skeleton
cereal
: A C++11 library for serialization
cmake-reflection-template
: A template for simple C++ reflection done with CMake and Python (no other external tools)
MetaStuff
: Code I use in my game for all serialization/deserialization/introspection stuff
type_name
: C++ type_name template utilities for pretty-printing type names
smartenum
: Macros for declaring enums in C++ that include to_string conversion and looping through all enum values
better-enums
: C++ compile-time enum to string, iteration, in a single header file
magic_get
: std::tuple like methods for user defined types without any macro or boilerplate code
ctti
: Compile Time Type Information for C++
nameof
: Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum
flatbuffers
: FlatBuffers: Memory Efficient Serialization Library
protobuf
: Protocol Buffers - Google's data interchange format
archive
: Simple, compact, endian-safe and header-only serialization/deserialization for C++
reflect
: C++ reflect library in less than 200 lines
- data_desk
: A data description language parser with introspection and custom code capabilities, intended for compile-time code generation in projects
msgpack-c
: MessagePack implementation for C and C++ / msgpack.org[C/C++]
wise_enum
: A reflective enum implementation for C++
enum.hpp
: C++17 compile-time enum reflection library
C++ / Metaprogramming
putils_meta
Phisko's metaprogramming utilities. Collection of type traits and compile-time helpers
monster
: The Art of Template MetaProgramming in Modern C++
STT-C-Compile-Time-Snake
: Snake/Nibbler implementation using C++ template metaprogamming
brigand
: Instant compile time C++ 11 metaprogramming library
cxl
: A C++17 metaprogramming library. Strings, Parsing, Typelists, Aggregate to Tuple conversions and Constant integral literals
hana
: Your standard library for metaprogramming
C++ / Functional Programming
cpp_functional_programming
: List of materials about functional programming in C++
hof
: Higher-order functions for c++
easing-functions
: Easing functions implemented in C++
- luna-studio
: An IDE for hybrid textual and visual functional programming
ftl
: C++ template library for fans of functional programming
Function
: Heap allocation free version of C++11 std::function
fixed_size_function
: Fixed size function wrapper like std::function
FastDelegate
: C++11 version of Don Clugston's FastDelegate library, by Ceniza
any_function
: any_function is a functional counterpart to std::any
delegates
: Fast delegates implementation
SLACC
: Simple Lightweight Adaptable Command Console
function_ref
: A lightweight, non-owning reference to a callable
expected
: C++11/14/17 std::expected with functional-style extensions
pluscallback
: easy to use callback library for C++
asyncpp
: C++ async operations
coro
: Modern coroutine library for C++
libco
: libco is a coroutine library which is widely used in wechat back-end service. It has been running on tens of thousands of machines since 2013
eventpp
: Minimal C++ Event Bus
FunctionalPlus
: Functional Programming Library for C++. Write concise and readable C++ code
function2
: Improved and configurable drop-in replacement to std::function that supports move only types, multiple overloads and more
eventbus
: A simple, header only event bus library written in modern C++17
C++ / Containers
mlib
: Library of generic and type safe containers in pure C language (C99 or C11) for a wide collection of container (comparable to the C++ STL)
- SmartIteratorCpp11
: Smart iterator like range-v3 in C++11
prio_queue
: C++14 cache friendly B-heap priority queue
dep_sort
: Generic topological sorting for sorting a list of dependencies in C++17
sort
: Sorting routine implementations in "template" C
frozen
: a header-only, constexpr alternative to gperf for C++14 users
scattered
: C++ Scattered Containers
radixsort
: Radix sort implementations in C and C++
- judy
: A "general purpose dynamic array library" in C. Project page:
judy-template
: An implementation of the Judy array, wrapped in a c++ template. Uses Karl Malbrain's implementation, . Public domain
EasyIterator
: C++ iterators made easy! Zero cost abstractions for C++ iterators
plf_colony
: An unordered C++ data container providing fast iteration/insertion/erasure while maintaining pointer/iterator validity to non-erased elements regardless of insertions/erasures. Provides higher-perf…
flat.hpp
: Library of flat vector-like based associative containers
skiplist.h
: Single-header-file, public domain, type-generic C89 skip list implemementation
avl_tree
: High performance C implementation of AVL trees
rsht
: really simple hash table
array
: contiguous container library - arrays with customizable allocation, small buffer optimization and more
sparse-map
: C++ implementation of a memory efficient hash map and hash set
hopscotch-map
: C++ implementation of a fast hash map and hash set using hopscotch hashing
flat_hash_map
: A very fast hashtable
devector
: Resizable contiguous sequence container with fast appends on either end
hashMap
: A concurrent thread-safe hash map implemented in C++
EASTL
: EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance
STL
: MSVC's implementation of the C++ Standard Library
plf_list
: A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing
rax
: A radix tree implementation in ANSI C
ga
: Partitioned Global Address Space (PGAS) library for distributed arrays
xenium
: A C++ library providing various concurrent data structures and reclamation schemes
sparsehash-c11
: Experimental C++11 version of sparsehash
Sprout
: C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others
immutable-cpp
: Persistent immutable data structures for C++
HashMap
: An open addressing linear probing hash table, tuned for delete heavy workloads
TinySTL
: TinySTL is a subset of STL(cut some containers and algorithms) and also a superset of STL(add some other containers and algorithms)
ch_stl
: Colby Hall's C++ Standard Library
pdqsort
: Pattern-defeating quicksort
urde
: Data interchange, editor suite, and runtime re-implementations for games by Retro Studios | Mirror
C++ / Logging
DebugViewPP
: DebugView++, collect, view and filter your application logs
NSLogger
: A modern, flexible logging tool
glog
: C++ implementation of the Google logging module
spdlog
: Fast C++ logging library
Frlog
: A tiny, fast, thread safe, easy to use logging class
loguru
: A lightweight C++ logging library
static-print
: A GCC 7.1 patch that adds a 'static_print' statement to C++
nanoprintf
: A tiny embeddable printf replacement written in C89/C99
.
: A simple streaming library
cpp-format
: C#/Rust/Python style formatting in C++
tsf
: Type safe printf-compatible C++ library
fmt
: A modern formatting library
tinyformat
: Minimal, type safe printf replacement library for C++
plog
: Portable, simple and extensible C++ logging library
reckless
: Reckless logging. Low-latency, high-throughput, asynchronous logging library for C++
FASTER
: Fast persistent recoverable log and key-value store, in C# and C++, from Microsoft Research
leaf
: Lightweight Error Augmentation Framework
logwizard
: Log Wizard - a Log Viewer that is easy and fun to use!
tinge
: a simple, fast, header-only library for C++ which enables pretty colours on the terminal
spinnercpp
: Simple header only library to add a spinner / progress indicator to any terminal application
emojicpp
: Emoji
pprintpp
: Typesafe Python Style Printf Formatting for C++
elephant-logger
: A flexible C++ logger with customisable categories, outputs, and filters
C++ / Signals and Slots
SISL
: An other cross-platform/cross-compiler Signals and Slots library for C++11 and more
SimpleSignal
: Simple signal using templates
SimpleSignals
: simple threadsafe C++ signal/slot implementation
SimpleSignal
: High performance C++11 signals
signal11
: C++11 signal slot implementation
nano-signal-slot
: Pure C++17 Signals and Slots
observable
: Observer pattern and signals/slots for C++11 projects
C++ / Profilers
microprofile
: microprofile - embeddable CPU/GPU profiler
NVMLQuery-Windows
: Windows sample code demonstrating how to query GPU metrics using the NVIDIA NVML API
GpuProf
: Realtime profiler for AMD / NVIDIA / Intel GPUs
gperftools
: Main gperftools repository
monitoring
: a lib to determine CPU /memory consumption
GPUProfiler
: GPUProfiler - Understand your application and workflow resource requirements
amdmemorytweak
: Read and modify memory timings on the fly
nonius
: A C++ micro-benchmarking framework
CapFrameX
: Frametime capture and analysis tool
minitrace
: Simple C/C++ library for producing JSON traces suitable for Chrome's built-in trace viewer (about:tracing)
CompareIntegerMaps
: Generates benchmark data for two different data structures, then renders some graphs
netdata
: Real-time performance monitoring, done right!
gputop
: A GPU profiling tool
libperflogger
: Frametime logger for Linux Vulkan/OpenGL
perftest
: GPU texture/buffer performance tester
PocketTrace
: Intrusive Profiler for C++ (comes with viewer)
dmt
: Dynamic memory tracker for C
LPGPU2-CodeXL
: LPGPU2 CodeXL power performance analysis and feedback tool for GPUs
libProfiler
: Profile your c++ code
verysleepy
: Very Sleepy, a polling CPU profiler
renderdoc
: RenderDoc is a stand-alone graphics debugging tool
RenderDoc-Manager
: An exemple on how to use RenderDoc inside your engine
apitrace
: Tools for tracing OpenGL, Direct3D, and other graphics APIs
processhacker
: A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware
orbitprofiler
: C/C++ Performance Profiler
chobo-profiling
: A multi-platform call-graph intrusive C++ performance profiling library
semile
: Profile what you care, monitor how it goes (support C/C++)
LiveMemTracer
: Live memory allocation tracing header only library using ImGui
Remotery
: Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer
Radeon-GPUProfiler
: Radeon GPU Profiler (RGP) is a tool from AMD that allows for deep inspection of GPU workloads
RCP
: The Radeon Compute Profiler (RCP) is a performance analysis tool that gathers data from the API run-time and GPU for OpenCL™ and ROCm/HSA applications. This information can be used by developers to…
Compressonator
: Tool suite for Texture and 3D Model Compression, Optimization and Analysis using CPUs, GPUs and APUs
CodeXL
: CodeXL is a comprehensive tool suite that enables developers to harness the benefits of CPUs, GPUs and APUs
gapid
: Graphics API Debugger
glintercept
: GLIntercept is a OpenGL function call interceptor for Windows that will intercept and log all OpenGL calls
ThreadTracer
: Lightweight inline profiler that measures wall-time, cpu-time and premptive context switches for threads
microprofile
: microprofile is an embeddable profiler
gpuvis
: GPU Trace Visualizer
MTuner
: MTuner is a C/C++ memory profiler and memory leak finder for Windows, PlayStation 4 and 3, Android and other platforms
yardstick
: C++ Instrumented Profiling
optick
: C++ Profiler For Games
benchmark
: A microbenchmark support library
easy_profiler
: Lightweight profiler library for c++
profi
: A light-weight C++ profiling library
SIMD-Visualiser
: A tool to graphically visualize SIMD code
Caliper
: Caliper is a flexible application introspection system
HWCPipe
: Hardware counters interface
picobench
: A micro microbenchmarking library for C++11 in a single header file
- tracy
: Mirror of
nanobench
: Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20
coz
: Coz: Causal Profiling
access_profiler
: a tool to count accesses to member variables in c++ programs
llvm-propeller
: PROPELLER: Profile Guided Optimizing Large Scale LLVM-based Relinker
cupti_profiler
: CUPTI GPU Profiler
C++ / Testing
doctest
: The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD
EATest
: EATest is a C++ unit testing framework. It's goal is to have a scalable architecture, have minimal dependencies, and simple usage
faker-cxx
C++20 Faker library for generating fake (but realistic) data for testing and development
gtest-parallel
: Run Google Test suites in parallel
gtest-tap-listener
: GoogleTest TAP Listener
gtest-gbar
: Automatically exported from code.google.com/p/gtest-gbar
gtest-runner
: A cross-platform, Qt5 based Graphical User Interface for Google Test unit tests
googletest
: Googletest - Google Testing and Mocking Framework
mettle
: A C++14 unit test framework
utest.h
: single header unit testing framework for C and C++
greatest
: A C testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed
mettle
: A C++14 unit test framework
Catch2
: A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)
mutate_cpp
: C++ Mutation Test Environment
trompeloeil
: Header only C++14 mocking framework
C++ / Platforms
cpuinfo
: CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS)
yue
: A library for creating native cross-platform GUI apps
cpp-ipc
: C++ IPC Library: A high-performance inter-process communication using shared memory on Linux/Windows
portable-file-dialogs
: Portable GUI dialogs library, C++11, single-header
platform_bionic
: Hardened Android standard C library. Some of the past hardening has not yet been ported from Marshmallow, Nougat and Oreo to this Android Pie repository. Most is available via archived tags in http…
wil
: Windows Implementation Library
ipc
: Public domain single header inter process communication primitives
flow9
: Platform for safe, easy and productive programming of complex, multi-platform apps with a modern user interface
win-wallpaper
: Manage the desktop wallpaper on Windows
cpu_features
: A cross platform C99 library to get cpu features at runtime
switch-portlibs-examples
: Switch portlibs examples using devkitA64 and libnx
libnx
: Library for Switch Homebrew
Detours
: Detours is a software package for monitoring and instrumenting API calls on Windows. It is distributed in source code form
CrossWindow
: A cross platform system abstraction library written in C++ for managing windows and performing OS tasks
WindowsHModular
: A modular Windows.h Header. Licensed under Public Domain & MIT
clip
: Cross-platform C++ library to copy/paste clipboard content
osdialog
: A cross platform wrapper for OS dialogs like file save, open, message boxes, inputs, color picking, etc
nloader
: Native win32 executables loader
libusb
: A cross-platform library to access USB devices
WinToast
: WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10. Toast notifications allows your app to inform the users…
borderless-window
: A minimal borderless window with the Windows API
nativefiledialog
: A tiny, neat C library that portably invokes native file open and save dialogs
process.h
: A simple one header solution to launching processes and interacting with them for C and C++
PlatformFolders
: A C++ library to look for special directories like "My Documents" and "%APPDATA%" so that you do not need to write Linux, Windows or Mac OS X specific code
Skeleton
: Skeleton: A Dead Simple, Responsive Boilerplate for Mobile-Friendly Development
sfd
: A small C library for opening a file dialog
Boxer
: Boxer is a simple library that allows for easy cross-platform creation of message boxes / alerts / what have you
turf
: Configurable C++ platform adapter
dynlib-loader
: Cross-platform Runtime dynamic library loader (.dll / .so)
- dynamicLinker
: C++11 wrapper for Linux / OS X / Windows / BSD dynamic libraries ( .so .dylib .dll )
systemd
: The systemd System and Service Manager
not-enough-standards
: A modern header-only C++ library that provides platform-independent utilities
EasyWindow
: Create window easily
gamemode
: Optimise Linux system performance on demand
ArduinoJoystickLibrary
: An Arduino library that adds one or more joysticks to the list of HID devices an Arduino Leonardo or Arduino Micro can support
cppwinrt
: C++/WinRT is a standard C++ language projection for the Windows Runtime
libenjoy
: Simple & small C joystick library for Linux and Windows. See README
nxquake2
: Nintendo Switch port of the Yamagi Quake II client
compiler-warnings
: A list of compiler warning flags for different GCC and clang versions
C++ / Command Line Arguments
getopt
: C++ command line options parser for C++ Standard Library
args
: A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not nec…
cli
: A library for interactive command line interfaces in modern C++
radare2
: unix-like reverse engineering framework and commandline tools
Clara
: A simple to use, composable, command line parser for C++ 11 and beyond
CmdLine2
: Command line argument parser (C++14)
clipp
: easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation
argh
: Argh! A minimalist argument handler
cxxopts
: Lightweight C++ command line option parser
Arguments
: Command line argument handling for C++
gflags
: The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used. Online documentation available at:
args
: Simple and type-safe commandline argument parser for C++14
C++ / Regex
CppVerbalExpressions
: C++ regular expressions made easy
tiny-regex-mod
: Single file modification of tiny-regex-c by Kokke
BlingFire
: A lightning fast Finite State machine and REgular expression manipulation library
cparse
: A C++ configurable Expression Parser. Useful as a Calculator or for helping you write your own Programming Language
C++ / Date
C++ / Clang
clang-reflect
: A clean implementation of reflection and related proposals
cftf
: Clang from the Future: A C++17 to C++11 source-to-source compiler
clang-power-tools
: Bringing clang-tidy magic to Visual Studio C++ developers
clang-format-all
: Run clang-format -i on all of the files in your C or C++ project
CppAst
: CppAst is a .NET library providing a C/C++ parser for header files powered by Clang/libclang with access to the full AST, comments and macros
autotidy
: Speedier handling of clang-tidy checking
cppinsights
: C++ Insights - See your source code with the eyes of a compiler
cppast
: Library to parse and work with the C++ AST
llvm-project
: The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at…
C++ / HotReload
car
: Compile and Run! Execute source files directly without worrying at all about compiling
PolyHook_2_0
: C++17, x86/x64 Hooking Libary v2.0
Ratchet
: A gameclient hooking framework to aid debuging
PolyHook
: x86/x64 C++ Hooking Library
jet-live
: c++ hot code reload for linux and macos
blink
: A tool which allows you to edit source code of any MSVC C++ project live at runtime
CToy
: Interactive C coding environment
C-Hotloading
: Example of MSVC makefile project for hotloading C with intellisense/debugger compatability
RuntimeCompiledCPlusPlus
: Change C++ code at runtime
live_reload_test
: demonstration of live reloading
cr
: cr.h: A Simple C Hot Reload Header-only Library
live_edit
: A collection of single-header libraries to help with reloading, debugging and profiling C(++) code
RCCpp_DX11_Example
: Runtime Compiled C++ example based on the Dear ImGui DirectX11 Example
C++ / UID
C++ / Debug
PPK_ASSERT
: PPK_ASSERT is a cross platform drop-in & self-contained C++ assertion library
debugbreak
: break into the debugger programmatically
crashpad
: A crash-reporting system
in_constexpr
: An approach for runtime detection inside a constexpr function
backward-cpp
: A beautiful stack trace pretty printer for C++
debug_assert
: Simple, flexible and modular assertion macro
EAAssert
: EAAssert is a simple and lightweight assert technology
dbgtools
: Small collection of debug-related drop-in c/c++-utils
x64dbg
: An open-source x64/x32 debugger for windows
Libraries
putils
Phisko's C++ utilities. Large collection of helper classes and functions
HandyCpp
: A large collection of header only utilities and convenience functions that make C++17 development happier
single_file_libs
: List of single-file C/C++ libraries
bitsquid-foundation
: A minimalistic foundation library with functions for memory allocation, basic collections, etc. The library has been written with a data-oriented philosophy: POD structures are preferred over class…
EABase
: EABase is a small set of header files that define platform-independent data types and platform feature macros
EAStdC
: EAStdC is a package which implements basic library facilities that are similar to those in the standard C library
acd
: Single file utilities for C++
single-file-libs
: super permissive, drop-in, single file stuff
par
: single-file C libraries from Philip Allan Rideout
- paq
: public domain single-file C/++ libraries for game devs
Core
: Core libraries and utilities
dr_libs
: A collection of public domain single-file libraries for C/C++
limbus
: A cross-platform game library in the public domain
RandomCode
: Random projects that are ok to be public, like blog stuff
tinypile
: Assorted small one-or-two-file libs. C/C++. Public domain. Cross-platform. No deps
dm
: Header-only base C++ library
sokol
: minimal cross-platform standalone C headers
gamedev_libraries
: A collection of open source c/c++ libraries for gamedev
Flint
: Public domain single-file header-only C libraries
sx
: Portable base library for C programmers, designed for performance and simplicity
cosmos
: Algorithms that run our universe | Your personal library of every algorithm and data structure code that you will ever encounter | Ask us anything at our forum
mmx
: single header libraries for C/C++
final_game_tech
: Game related libraries written in C/C++
bss-util
: Black Sphere Studios utility library for C/C++
kj
: kj is a small collection of stb inspired libs
sac
: C/C++ helpers
ZHeaders
: Public domain single-file libraries - stb style
miscsrc
: My collection of miscellaneous source code
libs
: Single-file public domain libraries for C/C++
stb
: stb single-file public domain libraries for C/C++
tinybits
: Tiny bits and useful snippets that I keep using everywhere (C, C++)
tacent
: A collection of C++ modules implementing linear algebra, text and file IO, containers, image loading and saving, command-line parsing, etc. Useful for the foundation of a game engine or other inter…
libdhcore
: Lightweight, performance oriented, Core library for 'C' programmers
slibs
: Single file libraries for C/C++
foundation_lib
: Cross-platform public domain foundation library in C providing basic support data types and functions to write applications and games in a platform-independent fashion
cute_headers
: Collection of cross-platform one-file C/C++ libraries with no dependencies, primarily used for games
ZeroTolerance
: Collection of single header file libraries for C/C++ development, with a focus on games
chobo-shl
: A collection of single-header C++11 libraries by Chobolabs
single_file_libs
: List of single-file C/C++ libraries
kit
: C++11 libs: await, channels, reactive/signals, timelines, alarms, logging, args, etc
msh
: Maciej's Toolbox
abseil-cpp
: Abseil Common Libraries (C++)
Nimble
: Nimble is a header-only utility library
rsm
: Utility Library
bx
: Base library used across multiple projects
utils
: A collection of data structures and utilities (C++11)
loki
: A C++ Template library, developed by Andrei Alexandrescu, the author of the book Modern C++ Design
loki-lib
: Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms
GSL
: Guidelines Support Library
vrm_core
: Lightweight C++14 utility library. (Modernized, stripped and cleaned-up version of SSVUtils.)
Aurora
: Header-only library with unconventional C++ features, like deep-copy smart pointers, dynamic dispatch, type-erased ranges
gsl-lite
: gsl lite - A single-file header-only version of ISO C++ Guidelines Support Library (GSL) for C++98, C++11 and later
cpp-utilities
: Miscellaneous C++11 utility classes and functions
Snippets
: (Hopefully) useful code snippets and header-only libs
sts
: My collection of public domain single file libraries
gb
: gb single-file public domain libraries for C & C++
emilib
: Loose collection of misc C++ libs
liboli
: personal single-header c89 library with misc utilities (I actually made this just so that I can add -loli to ldflags)
commonItems
: Common utilities used by various converters
zpl
: Your C11 Powerkit
Plinth
: Foundation library of helpful classes/functions
sftools
: Bunch of tools for SFML application development
MISC
: Miscellaneous small code snippets
Engines
kengine
The Koala engine is a type-safe and self-documenting implementation of an Entity-Component-System (ECS), with a focus on runtime extensibility and compile-time type safety and clarity
game
: The culmination of everything I'm passionate about
Enjon
: Game engine created using OpenGL and C++
Shadow-Functions-Engine
: A small ASCII graphical game engine for the windows console (and Linux since v2.0.2.) done in C++
cheat-engine
: Cheat Engine. A development environment focused on modding
- CORE
: Game engine core playground
Cauldron
: A simple framework for rapid prototyping on Vulkan or Direct3D 12
bigg
: bgfx, imgui, glfw, glm
goxel
: Goxel: Free and Open Source 3D Voxel Editor
lumixengine_shader_editor
: Visual shader editor for Lumix Engine
Open7Days
: A fast engine based on the technology behind 7 days to die
- NebulaRender
: A powerful physically based renderer with a fully featured editor
GameEngine
: Little Game Engine that aims to be Physically Based for the lighting part
include-engine
: #include
MAGE
: 🧙 MAGE - Matthias Advanced Game Engine
TrinityCore
: TrinityCore Open Source MMO Framework (master = 8.2.0.31478, 3.3.5 = 3.3.5a.12340)
boden
: Purely native C++ cross-platform framework for Android and iOS development
AtomicGameEngine
: The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
NoahGameFrame
: A fast, scalable, distributed game server engine/framework for C++, include actor library, network library,can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua …
Viry3D
: Cross platform 2D and 3D game engine in C++
aether3d
: Aether3D Game Engine
kiyosGameEngine
: KiyoGameEngine is a small header only C++17 library, that provides boilerplate code for a small to medium sized games
Wolf.Engine
: The Wolf is a comprehensive set of C++ open source libraries for realtime rendering, realtime streaming and game developing
OpenXRay
: Improved version of the X-Ray engine, used in world famous S.T.A.L.K.E.R. game series by GSC Game World
mintaro
: A small framework for making simple games
DmitrysEngine
: C99 cross-platform 3D game engine with absolute minimum of external dependencies
zdog
: Flat, round, designer-friendly pseudo-3D engine for canvas & SVG
Xbox-ATG-Samples
: Game development samples published by the Xbox Advanced Technology Group
shiva
: Modern Cross-Platform C++ Engine with modularity (MIT). Maintains here:
enduro2d
: Yet another 2d game engine of dreams (work in progress)
FlexEngine
: A personal game engine
rbfx
: Game engine with extensive C# support and WYSIWYG editor
qtbase
: Qt Base (Core, Gui, Widgets, Network, ...)
Engine
: C++ Game Engine (Under Construction!)
Acid
: A high speed C++17 Vulkan game engine
quartz-engine
: A New Game Engine, specializing in ease of content creation through a scripting language
Corange
: Pure C Game Engine
Simpleton-Engine
: What a stupid name for a library
BabylonCpp
: A port of Babylon.js to C++
igneous
: Igneous is an open source game engine written in C++
godot
: Godot Engine – Multi-platform 2D and 3D game engine
anki-3d-engine
: AnKi 3D Engine - Vulkan backend, modern renderer, scripting, physics and more
raylib-cpp
: C++ Object Oriented Wrapper for raylib
engine
: Home of a voxel game engine and its tools (like a voxel editor)
PGE-Project
: Platform Game Engine Project by Wohlstand
Daemon
: The Dæmon game engine. With some bits of ioq3 and XreaL
thunder
: An open source game engine is written in C++ with a flexible architecture
vxr
: General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
rex
: rex engine and game
OpenGraphic
: Graphic Engine & Game Engine lists
WickedEngine
: C++ game engine focusing on modern rendering techniques and performance
alimer
: Cross-platform 2D and 3D game engine
ignifuga
: Ignifuga Game Engine
Rak
: Real-time hybrid engine written in C++
- CRYENGINE
: CRYENGINE is a powerful real-time game development platform created by Crytek
engine
: Fast and lightweight WebGL game engine
fusion3d
: A next gen 3D engine fusing modern techniques and apis
Cinder
: Cinder is a community-developed, free and open source library for professional-quality creative coding in C++
- EtherealEngine
: C++ Game Engine and Editor
mos
: Lightweight game engine
halley
: A lightweight game engine written in modern C++
eight
: Automatically exported from code.google.com/p/eight
RaZ
: Modern & multiplatform 3D engine in C++17
limonEngine
: 3D FPS game engine with full dynamic lighting and shadows
DOOM
: DOOM Open Source Release
OpenMiner
: Scriptable Minecraft-like game engine written in C++14 using GameKit
openFrameworks
: openFrameworks is a community-developed cross platform toolkit for creative coding in C++
Arcane-Engine
: 3D C/C++ Game Engine - Created By Brady Jessup
permafrost-engine
: An OpenGL 3.3 RTS game engine written in C
- Cardinal-Engine
: 3D Cross-Platform Game Engine programmed in C++ with OpenGL 3
eternity
: The Eternity Engine
Quiver
: A cross-platform pseudo-3D game engine written in C++
GibEngine
: Cross-platform OpenGL 3D game engine
Inline-Engine
: Game engine written in C++ with ease of use and next-gen parallel computing in focus
DiligentEngine
: A modern cross-platform low-level graphics library and rendering framework
yeti
: A general-purpose data-driven game engine with tools. Attribution based licensing
openage
: Free (as in freedom) open source clone of the Age of Empires II engine
Zmey
: A game engine. That breathes fire and awesomeness
Game-Engine-Architecture
: A repo contaning the learning materials for the course 'Game Engine architecture'
Worldstone
: Diablo 2 tools and engine reimplementation in c++
catgl
: a cross-platform 3D graphics engine
SpartanEngine
: Game engine with an emphasis on architectual quality, targeting high end machines
ETEngine
: A merge between my planet framework and open gl graphics framework that will develop into a space sim focused game engine
Falcor
: Real-Time Rendering Framework
BlueshiftEngine
: Blueshift is a cross-platform 3D game engine implemented in C++. it's free, open-source, and works on Windows, macOS, iOS, and Android. The project is currently in an early stage of development
crogine
: SDL2 Based Game Framework for mobile devices
lumberyard
: Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source
gincu
: Gincu -- a simple match three game, game engine, and game framework written in C++
AVA
: A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years
darkhammer
: darkHAMMER is a lightweight, open-source, multiplatform game engine. written in C (C99) language, supports python and C# bindings and lua scripts. Runs on windows and linux
FishEngine
: Simple, Unity-like Game Engine
ogre
: Ogre1 - scene-oriented, flexible 3D engine written in C++
NazaraEngine
: Nazara Engine is a fast, complete, cross-platform, object-oriented API which can help you in your daily developper life
LumixEngine
: 3D Game Engine
Serious-Engine
: An open source version of a game engine developed by Croteam for the classic Serious Sam games
- BansheeEngine
: Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
polymer
: graphics + interaction engine
Urho3D
: Cross-platform 2D and 3D game engine
gebbdoom
: Game Engine Black Book: Doom
ALX
: C++11 Allegro 5 wrapper library
bsf
: Modern C++14 library for the development of real-time graphical applications
ClanLib
: ClanLib is a cross platform C++ toolkit library
raylib
: A simple and easy-to-use library to enjoy videogames programming
smkflow
: A C++ dataflow node editor -- Compatible with WebAssembly
game-prototype
: A simple 2D top-down game framework
megaglest-source
: MegaGlest real-time strategy game engine (cross-platform, 3-d)
freeaoe
: A free engine capable of running Age of Kings
Horde3D
: Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible
neoGFX
: Cross-platform GPU-oriented C++ application/game framework
KickJS
: A WebGL game engine for modern web-browsers
LittleOrionEngine
: C++ 3D Engine developed during the Master's Degree in AAA Videogames Development
GDevelop
: GDevelop is an open-source, cross-platform game engine designed to be used by everyone
Lumos
: Cross-Platform C++ 2D/3D game engine
saddy-graphics-engine-2d
: Saddy is an open-source crossplatform 2D graphic engine, based on OpenGL, which can be used for creating 2D games. like platformers or RPGs
- WildMagic
: A for of a well-known WildMagic engine v5.9
pmtech
: Lightweight, multi-platform, data-oriented game engine
SimpleRenderEngineProject
: Small C++14 render engine with dependencies
SimpleRenderEngine
: Small C++14 render engine
ezEngine
: An open source game engine in active development
engge
: Experimental game engine for Thimbleweed park
lovr
: Virtual Reality Engine
crown
: The flexible game engine
OpenSiv3D
: C++17/C++20 framework for creative coding
LDK
: A game engine being developed from scratch for learning and practicing essential game development skills. Each and every single feature is written from scratch with absolutely no third party code or libraries
JNGL
: Easy to use 2D engine for Linux, Windows, macOS, Android, iOS, Xbox and the Nintendo Switch
Engines / SFML based engines
SFML-Game-Development-Book
: Full and up-to-date source code of the chapters of the "SFML Game Development" book
SFML-book
: SFML Blueprint book, source code
nero-game-engine
: Advanced SFML Game Engine, Designed to be Simple and Intuitive
SFBL
: SFML Box2D Light
SchiffbruchEngine
: SchiffbruchEngine
Swift2
: A SFML-backed game framework
SFME
: Simple and Fast Multimedia Engine
xygine
: 2D engine / framework built around SFML
SFML-Game-Framework
: Very, very simple and barebones framework for SFML games and that
SFML-DOOM
: Original DOOM source code adapted to use c++ with SFML
Vigilante-Game-Framework
: 2D/3D C++ game framework written for use with SFML
ObEngine
: 2D Game Engine with Lua Scripting made on top of SFML !
QSFML
: SFML 2.x.x / Qt 5.x.x integration
is-Engine
: Game Engine developed with the SFML library to create games on Android and PC
Engines / Unity
NativeRenderingPlugin
: C++ Rendering Plugin example for Unity
VectorFieldExamples
: Unity VFX Graph examples with vector fields
UnityWaveEquation
: Wave Equations
UnityRenderStreaming
: Streaming server for Unity
KDTree
: Fast KDTree for Unity, with thread-safe querying
ShaderGraph-Custom-Lighting
: A sample project showcasing a simple method to calculate custom lighting inside of Shader Graph for the Lightweight Render Pipeline. Includes a sample toon shaded scene and example assets. Built fo…
UnitySpriteShaders
: An Uber Shader for rendering Sprites in Unity
GPU-GEMS-3D-Fluid-Simulation
: 3D fluid simulation on the in Unity
Unity-Reorderable-List
: Extended version of the Reorderable List in Unity
ShaderTutorials
: unity shader tutorials
SpriteGlow
: A sprite glow effect for Unity game engine
UnitySkidmarks
: A simple skidmark effect generator for Unity3D
Force-Field
: Project files for our tutorial on how to make a Force Field in Unity using Shader Graph
AtmosphericScattering
: Atmospheric Scattering for Unity
- Unity-Experimental-DXR
: The Experimental DXR project is a Unity custom version + HDRP custom version that support DXR and will let users play with DXR features. It is not representative of future integration of DXR in Unity
Deform
: A fully-featured deformer system for Unity
SplineMesh
: A Unity plugin to create curved content in real-time with bézier curves
ZeroFormatter
: Fastest C# Serializer and Infinitely Fast Deserializer for .NET, .NET Core and Unity
UnityCursorControl
: A mouse cursor control module for Unity3D
PostProcessing
: Post Processing Stack
HelpfulScripts
: A collection of random, useful scripts
UnityVisualizations
: Collection of shaders and visual effects created for Unity 3D
SEGI
: A fully-dynamic voxel-based global illumination system for Unity
Unity-Volumetric-Light
: A powerful volumetric light plugin based on post-processing in Unity3D
Entitas-CSharp
: Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
TestbedHDRP
: Testbed project for Unity HDRP (High Definition Render Pipeline)
command_terminal
: Unity Command Terminal: In-Game Console
Translucency-Shader
: A deferred translucency (with Subsurface Scattering) shader for Unity3D that integrates with existing Deferred rendering and Standard shading PBR systems. Based on research by EA DICE presented at …
sss-unity
: Sub Surface Scattering Approximation Shader for Unity 3D
msaa-shadow-fix
: A little fix for the directional shadows with msaa enabled in Unity3d
Brunetons-Improved-Atmospheric-Scattering
: A Unity port of Brunetons improved atmospheric scattering
AI4Animation
: Character Animation in Unity 3D using Deep Learning and Artificial Intelligence
Json.Net.Unity3D
: Forked Newtonsoft.Json to support Unity3D
DataBind
: Simple data binding for Unity
Simple-RPG-in-Unity
: Unity project for the Simple RPG series on GameGrind
Binary-Save-For-Unity
: A quick and simple way to save and load objects for Unity
VFW
:
Unity_Shaders_Book
: 书籍《Unity Shader入门精要》源代码
Ocean_Community_Next_Gen
: Next gen iteration of the unity community ocean shader
MeshDecimator
: A mesh decimation library for .NET and Unity
UnityMeshSimplifier
: Mesh simplification for Unity
High-Speed-Priority-Queue-for-C-Sharp
: A C# priority queue optimized for pathfinding applications
UnityUtils
: A library of C# utility classes for Unity
Shader-Graph-Tutorials
: Project files for our tutorials on using Shader Graph in Unity
UniGLTF
: glTF 2.0 importer and exporter for Unity 5.6 or later
- ScriptableRenderPipeline
: Scriptable Render Pipeline
RPG-Tutorial
: The Unity Project for the RPG Tutorial Series!
UnityCsReference
: Unity C# reference source code
NoiseShader
: Noise shader library for Unity
crest
: An advanced ocean system implemented in Unity3D
volsample
: Research on sampling methods for real-time volume rendering
AutoLOD
: Automatic LOD generation + scene optimization
AnimationImporter
: Aseprite Animation Importer for Unity
il2cpp
: A MSIL/C# to C++ converter. Faster than CoreCLR with low memory overhead.(已弃坑.C#是个好语言,然而.NET不是一个干净的平台)
Randomation-Vehicle-Physics
: Vehicle physics system for the Unity engine
Ceto
: Ceto: Ocean system for Unity
InputSystem
: An efficient and versatile input system for Unity
Extenject
: Dependency Injection Framework for Unity3D
Engines / UnrealEngine
unrealcpp
: Unreal Engine 4 C++ examples
RuntimeMeshComponent
: Unreal Engine 4 plugin component for rendering runtime generated content
ue4-docker
: Windows and Linux containers for Unreal Engine 4
unreal.hx
: Unreal.hx: Haxe Integration for Unreal
HoudiniEngineForUnreal
: Houdini Engine Plugin for Unreal Engine 4
ImpostorBaker
: UE4 Plugin for generating Impostors for static meshes
GA-SDK-UNREAL
: A repository containing the GameAnalytics Unreal4 Plugin including documentation
UE4-Cpp-Tutorials
: This repository contains all the code I've written in my website tutorials regarding the implementation of Game Systems inside UE4
EpicSurvivalGameSeries
: Third-person Survival Game for Unreal Engine 4
UnrealImGui
: Unreal plug-in that integrates Dear ImGui framework into Unreal Engine 4
Engines / Emulators
chips
: 8-bit chip and system emulators in standalone C headers
RetroArch
: Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3
agnes
: Header-only NES emulation library with an easy to use API
Gearboy
: Game Boy / Gameboy Color emulator for iOS, Mac, Raspberry Pi, Windows, Linux and RetroArch
ppsspp
: A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at or in #ppsspp on freenode (IRC) or just send pull requests /…
pcsx2
: PCSX2 - The Playstation 2 Emulator
binjgb
: Gameboy emulator implemented in C
- gameboy-emulator
: A simple gameboy emulator made in C++
rpcs3
: PS3 emulator/debugger
libgba-cpp
: C++ Library for Game Boy Advance Development
3DNes_Engine
: Engine to convert NES games into 3D
Maths
enoki
: Enoki: structured vectorization and differentiation on modern processor architectures
units
: A Physical Units Library for C++ providing compile-time dimensional analysis and unit/quantity manipulation
version2
: Vector class library, latest version
simde
: Implementations of SIMD instruction sets for systems which don't natively support them
kissfft
: a Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid
MarkovNameGenerator
: Markov process-based procedural name and word generator
eigen-git-mirror
: Git mirror of the official Eigen's repository -- PULL REQUEST MUST BE SENT TO:
curves
: A library of curves for estimation
hexbvh
: A hexagonal prism BVH: more efficient than AABB
wavalyzer
: Small C++ utility for Fourier analysis and visualization of an audio signal
dj_fft
: Header only FFT library
essentialmath
: Example code and libraries for the book "Essential Mathematics for Games and Interactive Applications."
fieldgen
: Generates high-quality, optimally smooth tangent direction fields on triangle meshes
simd
: Branch of the spec repo scoped to discussion of SIMD in WebAssembly
spherical-harmonics
: Spherical harmonics library
MathUtilities
: A collection of some of the neat math and physics tricks that I've collected over the last few years
GLFFT
: A C++11/OpenGL library for the Fast Fourier Transform
aabo
: Axis Aligned Bounding Octahedron
bhh
: Bounding Halfspace Hierarchy
muFFT
: A library for computing the Fast Fourier Transform (FFT) in one or two dimensions
taichi_mpm
: High-performance material point method (MPM) solver. (ACM Transactions on Graphics, SIGGRAPH 2018)
random
: Random for modern C++ with convenient API
dlaf
: Diffusion-limited aggregation, fast
rtm
: Realtime Math
pt_math
: public domain fast scalar math routines
splines-lib
: Library of cubic spline utilities
ArcLengthParameterisation
: Accurately control the speed at which parameters interpolate over curves
SipHash
: High-speed pseudorandom function (reference code)
bfp
: Beyond Floating Point - Posit C/C++ implementation
ezSIFT
: ezSIFT: An easy-to-use standalone SIFT library written in C/C++
fpot
: Fast Point Overlap Test
linedetector
: Efficient and Effective Line Segment Detector
matplotlib-cpp
: Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib
lolremez
: Polynomial Approximations using the Remez Algorithm
Flicks
: A unit of time defined in C++
lunar
: Basic astronomical functions
math-as-code
: a cheat-sheet for mathematical notation in code form
sr_graph
: A simple, one-file, header-only, C++ utility for graphs, curves and histograms
xo-math
: Fast math for game developers. No headaches, no cruft
normals_revisited
: revisiting a known normal transformation in computer graphics
Cullminator9000
: The fastest culler ever
Simd
: C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM
SSE-to-NEON
: Header file to translate SSE instructions to ARM NEON instructions
flatbush
: C++ port of
libsimdpp
: Portable header-only zero-overhead C++ low level SIMD library
seamoptimizer
: A C/C++ single-file library that minimizes the hard transition errors of disjoint edges in lightmaps
tinyexpr
: tiny recursive descent expression parser, compiler, and evaluation engine for math expressions
Summed-Area-Table
: Summed-Area Table in a single file header-only C++11 library
fft
: Public-domain single-header FFT library (power-of-2 size case only)
mathtoolbox
: Mathematical tools (interpolation, dimensionality reduction, optimization, etc.) written in C++11 with Eigen
blaze
: Mirror of Blaze library on Bitbucket
blaze_tensor
: 3D Tensors for Blaze ( )
Maths / Cryptography and Hashing and Compression
openh264
: Open Source H.264 Codec
oldunzip
: ZIP implode/explode and reduce/expand decompression libraries
lonesha256-ansi
: Portable, endian-proof, single-file, single-function sha256 implementation in ANSI C
lonesha256
: Portable, endian-proof, single-file, single-function sha256 implementation in C
lzsa
: Byte-aligned, efficient lossless packer that is optimized for fast decompression on 8-bit micros
zultra
: Fast deflate implementation with zopfli-like ratios and a streaming API
lz4ultra
: Optimal LZ4 compressor, that produces files that decompress faster while keeping the best compression ratio
em_inflate
: Fast, small, in-memory inflate (zlib, deflate and gzip decompression)
FastLZ
: Byte-aligned LZ77 compression
NvPipe
: NVIDIA-accelerated zero latency video compression library for interactive remoting applications
SymCrypt
: Cryptographic library
lz4
: Extremely Fast Compression algorithm
zip
: A portable, simple zip library written in C
zlib
: A massively spiffy yet delicately unobtrusive compression library
libpng
: LIBPNG: Portable Network Graphics support, official libpng repository
meow_hash
: Official version of the Meow hash, an extremely fast non-cryptographic hash
- ulz
: An ultra-fast LZ77 compressor/data compression library
csoinfo
: Small Windows specific C program to print compressed and original size of CSO/ZSO file (compressed ISO)
WjCryptLib
: Public Domain C Library of Cryptographic functions. Including: MD5, SHA1, SHA256, SHA512, RC4, AES, AES-CTR, AES-OFB, AES-CBC
ooz
: Open source Kraken / Mermaid / Selkie / Leviathan / LZNA / Bitknit decompressor
xxHash
: Extremely fast non-cryptographic hash algorithm
robin-hood-hashing
: Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
minih264
: Minimalistic H264/SVC encoder single header library
density
: Superfast compression library
hash-prospector
: Automated integer hash function discovery
snappy
: A fast compressor/decompressor
miniz-cpp
: A cross-platform header-only C++14 library for reading and writing ZIP files
base-x
: BaseX encoder / decoder for C++
ed25519
: Portable C implementation of Ed25519, a high-speed high-security public-key signature system
smhasher
: Automatically exported from code.google.com/p/smhasher
mbedcrypto
: a portable, small, easy to use and fast c++14 library for cryptography
hashcat
: World's fastest and most advanced password recovery utility
nozip
: Tiny C library for reading ZIP files
hashlibpp
: Simple and very easy to use library to create a cryptographic checksum (hash) in plain C++
fast_zlib
: Heavily optimized zlib compression algorithm
luazen
: simple compression, encoding and cryptographic functions
lizard
: Lizard (formerly LZ5) is an efficient compressor with very fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at…
andyzip
: A fast and compact modern C++ (header only) zip, bzip2 and brotli library
miniz
: miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz
cryptopp
: free C++ class library of cryptographic schemes
cocoa
: Cocoa is an uniform hashing library with no dependencies that provides interface for CRC32, CRC64, GCRC, RS, JS, PJW, ELF, BKDR, SBDM, DJB, DJB2, BP, FNV, FNV1a, AP, BJ1, MH2, SHA1, SFH (C++11)
bundle
: Bundle, an embeddable compression library: DEFLATE, LZMA, LZIP, BZIP2, ZPAQ, LZ4, ZSTD, BROTLI, BSC, CSC, BCM, MCM, ZMOLLY, ZLING, TANGELO, SHRINKER, CRUSH, LZJB and SHOCO streams in a ZIP file (C++03)(C++11)
deutex
: WAD composer for Doom, Heretic, Hexen, and Strife
cxx14-hash
: An object hashing facility
nibrans
: Simple, single-file, nibble-based, adaptive rANS library with SSE2-accelerated modeling
pithy
: Fast compression / decompression library
microtar
: A lightweight tar library written in ANSI C
dmc_unrar
: A dependency-free, single-file FLOSS unrar library
FastPFor
: The FastPFOR C++ library: Fast integer compression
MetroHash
: MetroHash v1: Exceptionally fast and statistically robust hash functions
Kuku
: Kuku is a compact and convenient cuckoo hashing library written in C++
lzma_sh
: compact lzma decoder
zstd
: Zstandard - Fast real-time compression algorithm
Maths / Linear Algebra
cglm
: Highly Optimized Graphics Math (glm) for C
eigen
: Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms
vml
: C++17 GLSL-like vector and matrix math lib
hlml
: vectorized high-level math library
mathfu
: C++ math library developed primarily for games focused on simplicity and efficiency
xsimd
: Modern, portable C++ wrappers for SIMD intrinsics and parallelized, optimized math implementations (SSE, AVX, NEON, AVX512)
vectorial
: Vector math library with NEON/SSE support
AngryQuaternion
: Dual Quaternion Skinning
MathGeoLib
: A C++ library for linear algebra and geometry manipulation for computer graphics
Handmade-Math
: A simple math library for games and computer graphics. Compatible with both C and C++
glm
: OpenGL Mathematics (GLM)
MEPP
: Mepp - 3D MEsh Processing Platform
gemmlowp
: Low-precision matrix multiplication
linalg
: linalg.h is a single header, public domain, short vector math library for C++
cmath3d
: 3d math library for C. Vectors, 3x3 matrices, quaternions
linmath.h
: a lean linear math library, aimed at graphics programming. Supports vec3, vec4, mat4x4 and quaternions
xsimd
: C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, NEON, AVX512)
MIPP
: MIPP is a portable wrapper for SIMD instructions written in C++11. It supports NEON, SSE, AVX and AVX-512
geomc
: A c++ linear algebra template library
Maths / Meshes & Polygons
shaper
: A C++ tool for 3D reconstruction from parallel 2D sections
libigl
: Simple C++ geometry processing library
cinolib
: A generic programming header only C++ library for processing polygonal and polyhedral meshes
assimp
: Official Open Asset Import Library Repository. Loads 40+ 3D file formats into one unified and clean data structure
instant-meshes
: Interactive field-aligned mesh generator
trimesh2
: C++ library and set of utilities for input, output, and basic manipulation of 3D triangle meshes
SeamAwareDecimater
: Mesh simplification with UV's boundary preserved
hole_fixer
: Demo implementation of smoothly filling holes in 3D meshes using surface fairing
bounding-mesh
: Implementation of the bounding mesh and bounding convex decomposition algorithms for single-sided mesh approximation
meshoptimizer
: Mesh optimization library that makes meshes smaller and faster to render
meshgeometry
: mesh geometry tools
MeshLib
: Mesh processing library
draco
: Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics
xatlas
: Mesh parameterization library
PolyFit
: Polygonal Surface Reconstruction from Point Clouds
gDel3D
: gDel3D is the fastest 3D Delaunay triangulation algorithm. It uses the GPU for massive parallelism
quickhull
: C++ implementation of the 3D QuickHull algorithm
voxels
: Voxels Library - C++ library for voxel manipulation and polygonization
libmc
: C/C++ Isosurface Extraction library
voxelizer
: A simple mesh voxelizer, GPU accelerated with CUDA
Fast-Quadric-Mesh-Simplification
: Mesh triangle reduction using quadrics
earcut.hpp
: Fast, header-only polygon triangulation
delabella
: 2D Delaunay triangulation (dela) - super stable (bella!)
MEPP2
: Mepp2 - 3D MEsh Processing Platform
xatlas
: Mesh parameterization / UV unwrapping library
QuadriFlow
: QuadriFlow: A Scalable and Robust Method for Quadrangulation
quantized-mesh
: Specification for streaming massive terrain datasets for 3D visualization
Easy3D
: A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data (i.e., meshes, point clouds)
pmp-library
: The Polygon Mesh Processing Library
TriWild
: TriWild: Robust Triangulation with Curve Constraints
NuoModelViewer
: A simple Wavefront OBJ viewer
MagicaVoxel-VOX-importer
: Blender import script for MagicaVoxel .vox format as cube primitives
polypartition
: Tiny Polygon Partitioning and Triangulation Library
CDT
: C++ library for constrained Delaunay triangulation (CDT)
rect-packer
: A simple yet efficient box packing algorithm
Maths / Noise
FastNoise
: Fast C++ Noise Library
BlueNoiseDitherMaskTiles
: Utility for producing blue-noise dither mask tiles on the GPU
BlueNoiseDitherPatternGeneration
: Comparing some methods of generating blue noise dither patterns, to go with a blog post
VirtualPlanetBuilder
: Tool for generateing paged databases from geospatial imagery and heightfields
TileableVolumeNoise
: Collection of functions that can be used to generate tileable volume/3d noise. An exemple of volume noise functions that can be specifically used for clouds is also presented
infnoise
: The world's easiest TRNG to get right
oidn
: Intel(R) Open Image Denoise library
open-simplex-noise-in-c
: Port of Kurt Spencer's java implementation of open simplex noise to C -- Note: This is NOT Ken Perlin's Simplex noise algorithm
heman
: C99 heightmap utilities
SimplexNoise
: A Perlin's Simplex Noise C++ Implementation (1D, 2D, 3D)
NoiseGenerator
: Node-based Noise and Pattern Editing Software
SimplexNoise
: * This is a clean, fast, modern and free Perlin Simplex noise function.All Public Functions are BlueprintCallable so they can be used in every blueprint. From DevDad and Dedicated to you and Unreal…
VoronoiMapGen
: Generation of random Island maps with Voronoi using C++
worley
: worley noise
SimplexNoise
: Cpp port for Simplex Noise library
FastNoiseSIMD
: C++ SIMD Noise Library
SimplexNoise
: Collection of Simplex Noise functions
hmm
: Heightmap meshing utility
forvor
: Fortune's Voronoi Generator
perlin-noise
: Various versions of Perlin noise (C and C++)
matchstick
: toying with markov stuff
Graphics
fun-with-graphics
: Fun with graphics
abrash-black-book
: Markdown source for Michael Abrash's Graphics Programming Black Book
GraphicsGems
: Code for the "Graphics Gems" book series
gpu-monitoring-tools
: Tools for monitoring NVIDIA GPUs on Linux
multi-gpu-programming-models
: Examples demonstrating available options to program multiple GPUs in a single node or a cluster
mesa
: Mesa 3D graphics library (mirror; no pull requests here please)
USD
: Universal Scene Description
FidelityFX
: A set of AMD provided GPU effects with provided source and sample implementations
- Custom-Middleware
: This repository holds custom and commercial middleware packages
MDL-SDK
: NVIDIA Material Definition Language SDK
rendering-bib
: My master bibliography file with publications mostly in computer graphics, rendering, transport theory, and statistics
GPUZen2
: Example programs and source code for GPU Zen 2
GDC2019_Public
: Public repository for my GDC 2019 presentation "Breaking Down Barriers"
azura
: Repository for real time rendering engine and tools for C++
sun-sky
: Various sun/sky models, convolution of theta/gamma-parameterised models
SDL2
:
NVFC
: OpenSource tool for monitoring, configuring and overclocking NVIDIA GPUs
libtess2
: Game and tools oriented refactored version of GLU tesselator
- GraphicsSamples
: GameWorks cross-platform graphics API samples
MetricsDiscoveryHelper
: A wrapper for Intel(R) MetricsDiscovery API that simplifies some common tasks and provides a more unified interface across different graphics APIs
glTF-Tutorials
: glTF Tutorials
NonEuclidean
: A Non-Euclidean Rendering Engine for 3D scenes
aobaker
: ambient occlusion baking tool
- mesa
: Mesa 3D graphics library (mirror; pull requests are ignored)
- piglit
: Piglit 3D library test suite
DIWide
: A featureful realtime 3D software render
yocto-gl
: Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics
libgltf
: glTF 2.0 parser for C++11
tinygltf
: Header only C++11 tiny glTF 2.0 library
AGS_SDK
: AMD GPU Services (AGS) library and samples
sse-avx-rasterization
: Triangle rasterization routines accelerated by SSE and AVX
RGA
: The Radeon GPU Analyzer (RGA) is an offline compiler and code analysis tool for Vulkan, DirectX, OpenGL, and OpenCL
glTF
: glTF – Runtime 3D Asset Delivery
forsyth
: Linear-Speed Vertex Cache Optimization
GPA
: GPU Performance API for AMD GPUs
moderngpu
: Patterns and behaviors for GPU computing
water-resources
: Resources for water rendering
cgltf
: Single-file C glTF loader
sts
: Single file library for vertex cache optimisation of triangles
stdgpu
: stdgpu: Efficient STL-like Data Structures on the GPU
Scape
: Highly realistic landspace rendering engine
bigger
: bigg (bgfx + imgui + glfw + glm) + utils
tinycolormap
: A header-only, single-file library for colormaps written in C++11
vacancy
: Vacancy: A Voxel Carving implementation in C++
Rendu
: A simple realtime graphics playground for experimentations
GPU-Gems-Book-Source-Code
: CD Content ( Source Code ) Collection of Book
tinyrenderer
: A brief computer graphics / rendering course
osre
: An open source render engine
SSAO
: A screen space ambient occlusion (SSAO) algorithm
Voxelator
: Voxel stuff entirely on the GPU using lots of GPU stuff and very little CPU stuff. Requires GLFW, GLEW, OpenGL, and a computer with a fairly recent GPU
precomputed_atmospheric_scattering
: This project provides a new implementation of our EGSR 2008 paper "Precomputed Atmospheric Scattering"
OceanSurface
: A real-time ocean surface simulated using Tessendorf's algorithm and OpenGL
fx-gltf
: A C++14/C++17 header-only library for simple, efficient, and robust serialization/deserialization of glTF 2.0
carbon
: Zig + Sokol + ImGui
Graphics / API Abstractions
nicegraf
: An abstraction layer for low-level platform-specific graphics APIs
swiftshader
: SwiftShader is a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs. Its goal is to provide hardware independence for advanced 3D graphics
bgfx.cmake
: Independently maintained CMake build scripts for bgfx. Released under public domain
bgfx-header-extension-library
: Header-only helper library for Bgfx to help you hit the ground running. Also includes a bunch of post processing filters to complete common graphical tasks
FlyCube
: Graphics API wrapper with support for Directx 11, Directx 12, OpenGL, Vulkan
libSDL2pp
: C++11 bindings/wrapper for SDL2
vg-renderer
: A vector graphics renderer for bgfx, based on ideas from NanoVG and ImDrawList (Dear ImGUI)
particlasm
: A modular, data-driven particle system with retargetable back-ends
Ashes
: Rendering library written in C++17, matching closely Vulkan interfaces
bgfx
: Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library
bfxr-api-example
: An example program using the Bfxr API
tinyrenderers
: Single header implemenations of Vulkan and D3D12 renderers
LLGL
: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
fg
: Rendering abstraction which describes a frame as a directed acyclic graph of render tasks and resources
magnum-integration
: Integration libraries for the Magnum C++11/C++14 graphics engine
magnum
: Lightweight and modular C++11/C++14 graphics middleware for games and data visualization
Graphics / OpenGL
compute_rasterizer
: Rendering Point Clouds with Compute Shaders
gl_vk_meshlet_cadscene
: This OpenGL/Vulkan sample illustrates the use of "mesh shaders" for rendering CAD models
- Nimble
: An OpenGL renderer with a modern and extensible rendering pipeline
glxw
: OpenGL loader and dynamic linker
TerrainEngine-OpenGL
: An OpenGL 4 and C++ program which renders a procedural scene
- GLOVE
: GLOVE (GL Over Vulkan) is a cross-platform software library that acts as an intermediate layer between an OpenGL application and Vulkan
opengles-book-samples
: Automatically exported from code.google.com/p/opengles-book-samples
PhotonBox
: A portable modern OpenGL Game-Engine with focus on PBR
opengl-es-sdk-for-android
: OpenGL ES SDK for Android
Pangolin
: Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input
3DWorld
: 3D Procedural Game Engine Using OpenGL
AtmosphericScattering
: An OpenGL implementation of Eric Bruneton's Precomputed Atmospheric Scattering paper
HybridRenderingEngine
: Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL
globjects
: C++ library strictly wrapping OpenGL objects
libepoxy
: Epoxy is a library for handling OpenGL function pointer management for you
vaserenderer
: VASE renderer is a polyline and curve renderer on OpenGL
glXXw
: OpenGL loader for GL3 Core and GLES2/3 - like gl3w, but written in CMake
gltut
: Learning Modern 3D Graphics Programming
piglit
: (Unofficial mirror for development) An open-source test suite for OpenGL implementations
- GfxSampleFramework
: OpenGL-based app framework for graphics samples/prototyping
MentalGL
: Single header OpenGL utility library in the public domain
OOGL
: Object-oriented C++ wrapper for OpenGL
glad
: Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs
harfbuzz-example
: Harfbuzz text-shaping example with OpenGL using Freetype
sparkle
: A modern particle engine running on GPU, using c++14 and OpenGL 4.4
Cell
: OpenGL C++ Graphics Engine
glfw
: A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Glitter
: Dead Simple OpenGL
angle
: A conformant OpenGL ES implementation for Windows, Mac and Linux
gl-terrain-demo
: OpenGL terrain rendering demo
antons_opengl_tutorials_book
: Anton's OpenGL 4 Tutorials book - Demo Code
freetype-gl
: OpenGL text using one vertex buffer, one texture and FreeType
Guide-to-Modern-OpenGL-Functions
: A guide to using modern OpenGL functions
lightmapper
: A C/C++ single-file library for drop-in lightmap baking. Just use your existing OpenGL renderer to bounce light!
AGE
: AGE - C++11 OpenGL4 Game Engine
GLS
: GL Stuff - A library aimed at reducing the boilerplate OpenGL code you always have to write
Header-Only-GL-Helpers
: A collection of header files that can ease OpenGL programming
gfw
: Pure C Minimal Graphics Framework (OpenGL)
opengl-skydome
: A fragment-shader skydome implementation
examples
: Examples for the OpenGL Red Book
PlanetRenderer
: A repo for my research on planet rendering in c++ | opengl
vogl
: OpenGL capture / playback debugger
gl
: C++11 wrapper for OpenGL 4.6 Core Profile
gl-engine
: Rendering Engine using C++ and OpenGL
oglplus
: OGLplus is a collection of open-source, cross-platform libraries which implement an object-oriented facade over the OpenGL® (version 3 and higher) and also OpenAL® (version 1.1) and EGL (version 1.…
TinyWindow
: a cross platform (Linux and Windows) OpenGL window library in a single header
glgen
: Minimal OpenGL extension loader
glbinding
: A C++ binding for the OpenGL API, generated using the gl.xml specification
GLUL
: OpenGL Utility Library
ogl
:
LearnOpenGL
: Code repository of all OpenGL tutorials found at
styleblit
: StyleBlit is an efficient example-based style transfer algorithm that can deliver high-quality stylized renderings in real-time
InstancedParticle
: Instancing Basics
GIGL
: Tiny Global Illumination OpenGL Renderer
webgl-seed
: A starter repo for building WebGL applications
VCTRenderer
: A real time global illumination solution that achieves glossy surfaces, diffuse reflection, specular reflection, ambient occlusion, indirect shadows, soft shadows, emissive materials and 2-bounce G…
gl_ssao
: optimized screen-space ambient occlusion, cache-aware hbao
deep-gbuffers
: Implementation of "Fast Global Illumination Approximations on Deep G-Buffers" (Mara et. al, 2016) using C++, OpenGL, and GLSL
ogl-samples
: The OpenGL Samples Pack
InitializingOpenGL
: A book written in my own spare time, that has notes on how to begin an OpenGL project
opengl_sky
: Pure-shader sky and cloud rendering in OpenGL
gl_commandlist_basic
: OpenGL sample for NV_command_list
Graphics / OpenGL / SFML
SFMLight
: Add lights to your SFML game
Thor
: SFML Extension with various game programming features, like particles, animations, vector operations
SFGUI
: Simple and Fast Graphical User Interface
Swoosh
: SFML Activity and Segue Mini Library
SFML-Workshop
: Example code for the SFML Workshop
- sfml-vscode-boilerplate
: A cross-platform SFML 2.5.1 & C++17 build environment for Visual Studio Code
ParticleEditor
: Particle editor for SFML/Thor based applications
light_ungod
: A reimplementation of the LTBL2-framwork
RichText
: Rich text class for SFML2. Allows the user to draw lines of text with different styles and colors
SimplGUI
: SimplGUI is simple GUI library for SFML. It provides simple widgets that can be used independently
Motion
: Complete video and audio player for SFML
LTBL2
: A 2D dynamic lighting system with accurate soft shadows
sfeMovie
: sfeMovie is a simple C++ library that lets you play movies in SFML based applications. It relies on FFmpeg to read medias and remains consistent with SFML's naming conventions. Forum at
imgui-sfml
: ImGui binding for use with SFML
SFML
: Simple and Fast Multimedia Library
TGUI
: An easy to use cross-platform c++ GUI for SFML
STP
: SFML TMX Parser -
Empire
: A cellular automaton I made up myself, written in C++/ SFML
SpriteAnimator
: Sprite animation editor for SFML/Thor based applications
SelbaWard
: A collection of SFML drawables
sfTheora
: sfTheora is a static library for playing Theora videos on SFML
Graphics / Vulkan
VulkanSceneGraph
: Vulkan & C++17 based Scene Graph Project
vulkan-seed
: A Vulkan starter repo that you could use to get the ball rolling
Vulkan-Samples-Assets
: Vulkan Samples Assets
clspv
: Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders
VulkanCapsViewerGenerator
: Extension header generator based on the official Vulkan registry xml
spirv-tools-custom-opt-passes
: A few custom passes for the SPIRV-Tools optimizer
FrameGraph
: vulkan abstraction layer that represent frame as a task graph
shadertoy-utils
: One-click utilities that turn images/sounds into shadertoy code! :)
- Vulkan-Example
: Some example of Vulkan with C++
vkbind
: Single file Vulkan API loader
vulkan-base
: Simple Vulkan application
VkBindingBenchmark
: Sponza And Bistro tests to benchmark transform data handling in Vulkan
Yave
: Yet Another Vulkan Engine
vsgXchange
: Utility library for converting data+materials to/from VulkanSceneGraph
niagara
: A Vulkan renderer written from scratch on stream
vkhr
: Real-Time Hybrid Hair Rendering using Vulkan™
vuda
: VUDA is a header-only library based on Vulkan that provides a CUDA Runtime API interface for writing GPU-accelerated applications
Pluto
: Pluto: an interactive Vulkan engine with Python bindings and Jupyter notebook support
Onyx
: Rendering engine based on Vulkan and C++17
vpp
: Modern C++ vulkan utility library
glsl_indexed_types_generator
: GLSL code generator to aid use of Vulkan's descriptor set indexing
Fossilize
: A serialization format for various persistent Vulkan object types
VkHLF
: Experimental High Level Framework for Vulkan
volk
: Meta loader for Vulkan API
vulkan_best_practice_for_mobile_developers
: Vulkan best practice for mobile developers
vulkan-sdk
: Github repository for the Vulkan SDK
rostkatze
: C++ implementation of Vulkan sitting on D3D12
Quartz
: Physically based Vulkan RTX path tracer with a declarative ES7-like scene description language
Vookoo
: A set of utilities for taking the pain out of Vulkan in header only modern C++
AMDVLK
: AMD Open Source Driver For Vulkan
GodOfFireAndGrass
: A Vulkan Grass Renderer
- VulkanTutorial
: Tutorial for the Vulkan graphics and compute API
rvg
: High level vulkan 2D vector-like graphics api (C++)
VKGL
: Core OpenGL over Vulkan
simple_vulkan_synchronization
: A single-header library with a simplified interface for Vulkan synchronization
Vulkan-glTF-PBR
: Physical based rendering with Vulkan using glTF 2.0 models
Vulkan
: Examples and demos for the new Vulkan API
Vulkan-WSIWindow
: A multi-platform library to create a Vulkan window, and handle input events
Vulkan-Cookbook
: Code repository for Vulkan Cookbook by Packt
TLVulkanRenderer
: A simple Vulkan-based renderer for my master thesis on real-time transparency
Vulkan-Hpp
: Open-Source Vulkan C++ API
Vulkan-ValidationLayers
: Vulkan Validation Layers
VulkanMemoryAllocator
: Easy to integrate Vulkan memory allocation library
PracticalVulkan
: Repository with code samples for "API without Secrets: The Practical Approach to Vulkan" series of articles
vulkan_slim
: Trying to trim down the size of my Vulkan repo
lava
: toy C++ Vulkan library
- VulkanMemoryAllocator
: Easy to integrate Vulkan memory allocation library
Vulkan
: Examples and demos for the Vulkan C++ API
brokkr
: Vulkan framework for Windows
LearnVulkan
: All code samples learnvulkan.com
vkvg
: Vulkan vector drawing, try to stay close to cairo api
MoltenVK
: MoltenVK is an implementation of the high-performance, industry-standard Vulkan graphics and compute API, that runs on Apple's Metal graphics framework, bringing Vulkan to iOS and macOS
V-EZ
:
vkdf
: A collection of Vulkan demos
Vulkan-Ecosystem
: Public repository for Vulkan Ecosystem issues
Anvil
: Anvil is a cross-platform framework for Vulkan
IntroductionToVulkan
: Source code examples for "API without Secrets: Introduction to Vulkan" tutorial
VulkanTools
: Tools to aid in Vulkan development including useful layers, trace and replay, and tests
xgl
: Vulkan API Layer
pal
: Platform Abstraction Library
vkDOOM3
: Vulkan DOOM 3 port based on DOOM 3 BFG Edition
vulkan_minimal_compute
: Minimal Example of Using Vulkan for Compute Operations. Only ~400LOC
VulkanSponza
: Deferred Vulkan rendering playground using Crytek's Sponza scene
laugh_engine
: A Vulkan implementation of real-time PBR renderer
Intrinsic
: Intrinsic is a Vulkan based cross-platform game and rendering engine. The project is currently in an early stage of development
Vulkan-Docs
: The Vulkan API Specification and related tools
VulkanResources
: A list of resources for learning Vulkan
VulkanTutorial
: Tutorial for the Vulkan graphics and compute API
VK-GL-CTS
: Khronos Vulkan, OpenGL, and OpenGL ES Conformance Tests
- cpp-host-metal
: Test if we can use Metal runtime in C++
ScrapEngine
: A very simple real-time Vulkan 3D game engine
VulkanLearn
: Render lab built on top of vulkan
vk_denoise
: Denoising a Vulkan ray traced image using OptiX denoiser
VulkanCapsViewer
: Vulkan hardware capability viewer
VulkanDemos
: Vulkan Demos
MageFramework
: Vulkan Framework for testing out and demoing shader techniques I've been intrigued by
Meteoros
: Real-time Cloudscape Rendering in Vulkan based on the implementation of clouds in the Decima Engine
perfdoc
: A cross-platform Vulkan layer which checks Vulkan applications for best practices on Arm Mali devices
perfdoc
: A cross-platform Vulkan layer which checks Vulkan applications for best practices on PowerVR devices
onyx
: Rendering engine based on Vulkan and C++2x
VulkanMemoryAllocator-Hpp
: C++ bindings for VulkanMemoryAllocator
FlingEngine
: A Vulkan game engine with a focus on data oriented design
Graphics / DirectX
directx12-seed
: A DirectX 12 starter repo that you could use to get the ball rolling
D3D12MemoryAllocator
: Easy to integrate memory allocation library for Direct3D 12
d3d12book
: Sample code for the book "Introduction to 3D Game Programming with DirectX 12"
DirectXTex
: DirectXTex texture processing library
D3d12info
: Simple console tool to get all the information from DXGI and Direct3D 12 on current system
DirectXShaderCompiler
: This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang
DirectX-Graphics-Samples
: This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows
reed-framework
: Basic framework for D3D11 init, model/texture loading, shader compilation and camera movement
dxwrapper
: Fixes compatibility issues with older games running on Windows 10 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes
Sophia
: A real-time DirectX 11 renderer. The renderer is named by my girlfriend's english name
DeferredTexturing
: A rendering sample that demonstrates bindless deferred texturing using D3D12
Wave-Particles-with-Interactive-Vortices
: A dx12 river renderer using wave particles with interactive vortices
dxup
: A d3d9 and d3d10 to d3d11 translation layer
- VK9
: Direct3D 9 compatibility layer using Vulkan
D3D12RaytracingFallback
: A fork of Microsoft's D3D12 Raytracing Fallback Layer
d9vk
: A d3d9 to vk layer based off DXVK's codebase
- D3DSamples
: Direct3D feature samples
ShadowFX
: DirectX 11 and 12 library that provides a scalable and GCN-optimized solution for deferred shadow filtering
smaa
: SMAA is a very efficient GPU-based MLAA implementation (DX9, DX10, DX11 and OpenGL), capable of handling subpixel features seamlessly, and featuring an improved and advanced pattern detection & han…
D3D12QuickRef
: Direct3D 12.0 quick reference guide
Dx11Base
: A small dx11 base program I use to test shaders and techniques
GeometryFX
: DirectX 11 library that provides convenient access to compute-based triangle filtering (CTF)
ToGL
: Direct3D to OpenGL abstraction layer
Shadows
: A sample app that demonstrates several techniques for rendering real-time shadow maps
graphicsdemoskeleton
: Playground for DirectX 11 / 12 simple graphics demo examples
Dxbc2Dxil
: DXBC to DXIL (HLSL Bytecode to LLVM IR) using internal APIs
separable-sss
: Separable Subsurface Scattering is a technique that allows to efficiently perform subsurface scattering calculations in screen space in just two passes
DXRNvTutorial
: Implementing Nvidia DXR tutorial with Microsoft DXR Fallback Layer
crunch
: Advanced DXTc texture compression and transcoding library
Graphics / Shaders
glslCanvas4AE
: After Effects Plug-in to write GLSL with a format of glslCanvas
HLSLcc
: DirectX shader bytecode cross compiler
SPIRV-Reflect
: SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications
deshade
: dump and replace shaders of any OpenGL or Vulkan application
smol-v
: SMOL-V: like Vulkan/Khronos SPIR-V, but smaller
slang
: Making it easier to work with shaders
glsl-grapher
: Visualize GLSL shader functions
thebookofshaders
: Step-by-step guide through the abstract and complex universe of Fragment Shaders
glsl-optimizer
: GLSL optimizer based on Mesa's GLSL compiler. Used in Unity for mobile shader optimization
glslang
: Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator
glsl-atmosphere
: Renders sky colors with Rayleigh and Mie scattering
glslSmartDeNoise
: glsl deNoise filter
GLSL
: GLSL Shading Language Issue Tracker
- glsl_kappa
: A shaderpack that aims towards a realistic, but also authentic look
gpuc
: A header-only C-like shading language compiler that writes Metal, HLSL, GLSL
SHADERed
: Lightweight, cross-platform & full-featured desktop tool for creating and testing HLSL and GLSL shaders
Wombat
: An efficient texture-free GLSL procedural noise library
GPU-Noise-Lib
: Optimized GPU noise functions and utilities
osl-shaders
: a repository of osl shaders for Blender
osl-shaders
: A collection of osl shaders
Pyramid
: Pyramid Shader Analyzer
reshade-shaders
: A collection of post-processing shaders written for ReShade
yari-v
: Single header SPIR-V compressor for C and C++
XShaderCompiler
: Shader cross compiler to translate HLSL (Shader Model 4 and 5) to GLSL
reshade
: A generic post-processing injector for games and video software
CrossShader
: A tool for cross compiling shaders. Convert between GLSL, HLSL, Metal Shader Language, or older versions of GLSL
3d-game-shaders-for-beginners
: A step-by-step guide on how to implement SSAO, depth of field, lighting, normal mapping, and more for your 3D game
glslViewer
: Live GLSL coding render for MacOS and Linux
Shader_Minifier
: Minify and obfuscate GLSL or HLSL code
ShaderConductor
: ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
SPIRV-Headers
: SPIRV-Headers
LunarGLASS
: LLVM IR and optimizer for shaders, including front-end adapters for GLSL and SPIR-V and back-end adapter for GLSL
shader-printf
: Simple printf functionality for GLSL
SPIRV-Cross
: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages
standard-surface
: White paper describing the Autodesk Standard Surface shader
nicegraf-shaderc
: A wrapper for shaderc and spriv-cross
glslcc
: GLSL cross-compiler tool (GLSL->HLSL, MSL, GLES2, GLES3, GLSLv3), using SPIRV-cross and glslang
graphicsfuzz
: A testing framework for automatically finding and simplifying bugs in graphics shader compilers
colourblind
: A C header file & shader for simulating colourblindness and checking contrast
hsluv
: Human-friendly HSL, reference implementation (revision 4)
hlslparser
: HLSL Parser and Translator for HLSL, GLSL, and MSL
hlsl2glslfork
: HLSL to GLSL language translator based on ATI's HLSL2GLSL. Used in Unity
shader-playground
: Shader playground website for exploring HLSL, GLSL, SPIR-V compilers
hlslparser
: HLSL Parser and Translator for HLSL, GLSL, and MSL
hqx-shader
: GPU shader version of HQx filter
pmfx-shader
: Cross platform shader system targetting HLSL, GLSL, Metal and SPIR-V. Offline compilation, reflection, metadata +so much more
ShaderDebugger
: [DEPRECATED] C++ library for debugging HLSL & GLSL shaders
Graphics / GUI
elements
: Elements C++ GUI library
qt3d
: Qt3D
LCUI
: A small C library for building user interfaces with C, XML and CSS
flatui
: Efficient Immediate Mode UI for Games
turbobadger
: Small footprint UI library for games & apps (branch)
horus_ui
: HorusUI Immediate Mode Graphical User Interface
zep
: Zep - An embeddable editor, with optional support for using vim keystrokes
Ultralight
: Ultralight— a lightweight, pure-GPU, HTML UI renderer for native apps
skui
: Skia-based C++ UI framework
raygui
: A simple and easy-to-use immediate-mode gui library
ImHotKey
: Single Header Hotkey editor for dear imgui
libui
: Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports
IconFontCppHeaders
: C, C++ headers and C# classes for icon fonts: Font Awesome, Fork Awesome, Material Design, Material Design icons, Kenney game icons and Ionicons
lvgl
: Powerful and easy-to-use embedded GUI with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash)
GuiLite
: Small-Fast-Injectable GUI library(5 KLOC) for all platforms
microui
: Tiny immediate-mode UI library
GWork
: Skinnable GUI with useful widget collection. Fork of GWEN
layout
: Single-file library for calculating 2D UI layouts using stacking boxes. Compiles as C99 or C++
nanovg
: Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations
nanogui
: Minimalistic GUI library for OpenGL
CEGUI
: mirror of upstream hg repo so we can use it as a git submodule
glw_imgui
: Code-driven, simple and bloat-free GUI system
nuklear
: A single-header ANSI C gui library
webview
: Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and MSHTML (Windows)
laf
: A C++ library to create desktop applications
Nuklear
: A single-header ANSI C immediate mode cross-platform GUI library
RapidGUI
: Unity OnGUI(IMGUI) extensions for Rapid prototyping/development
imtui
: ImTui: Immediate Mode Text-based User Interface
nanogui
: Minimalistic C++/Python UI library for OpenGL/GLES/DX11/DX12/Vulkan
nana
: a modern C++ GUI library
nodegui
: A library for building cross-platform native desktop applications with Node.js and CSS
Graphics / GUI / imgui
imgui
: Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies
imgui_markdown
: Markdown for Dear ImGui
imgui_tabs
: Tab module for imgui. Should be relatively forwardly compatible
ImWindow
: Window and GUI system based on Dear ImGui from OCornut
imgui_club
: Nice things to use along dear imgui
cimgui
: c-api for imgui and implementations programmatically generated ( )
ImGuizmo
: Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui
imguiDock
: An addon of imgui for supporting docks in the imgui's window
imgui-node-editor
: Node Editor using ImGui
ImGuiColorTextEdit
: Colorizing text editor for ImGui
imgui-goodies
: Widgets and utilities for ImGui
imgui-ws
: Dear ImGui over WebSockets
imgui-plot
: An improved plot widget for Dear ImGui, aimed at displaying audio data
imnodes
: A small, dependency-free node editor for dear imgui
ImNodes
: Node graph implementation for Dear ImGui. Used in
imgInspect
: imgui control to inspect image pixels
imgui_software_renderer
: A Software Renderer for Dear ImGui
- ImFastRast
: Fast(er) Software Rasterizer for Dear ImGui
ImGuiAl
: Widgets for imgui
imgui
: Dear ImGui Addons Branch = plain unmodified dear imgui plus some extra addon
imgui
: Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies
imgui
: Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies
imGuIZMO.quat
: GIZMO 3D object manipulator/orienteering widget for ImGui
bsfImgui
: bsf imgui plugin
ImGui-Addons
: Cross Platform File Dialog for Dear-ImGui
sequentity
: A single-file, immediate-mode sequencer widget for C++17, Dear ImGui and EnTT
ImGuiFileDialog
: File Dialog for ImGui :
imgui-filebrowser
: File browser implementation for dear-imgui. C++17 is required
imgui_entt_entity_editor
: A drop-in entity editor for EnTT with ImGui
LegitProfiler
: A simple ImGui component for rendering profiling data
Graphics / GUI / DebugDraw
polyscope
: A prototyping-oriented UI for geometric algorithms
im3d
: Immediate mode rendering and 3d gizmos
tinygizmo
: An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC
debug-draw
: Immediate-mode, renderer agnostic, lightweight debug drawing API
arcball_camera
: Single-header single-function C/C++ immediate-mode camera for your graphics demos
flythrough_camera
: Single-header single-function C/C++ immediate-mode camera for your graphics demos
LibGizmo
: Gizmo control library for 3D object manipulation (4x4 matrix)
Graphics / Animation
appleseed
: A modern open source rendering engine for animation and visual effects
aer-engine
: An OpenGL 4.3 / C++ 11 rendering engine oriented towards animation
skellington
: Implementation of Le, Hodgins 2016 paper "Real-time Skeletal Skinning with Optimized Centers of Rotation"
acl
: Animation Compression Library
ozz-animation
: Open source c++ skeletal animation library and toolset
aseprite_parser
: parser of Aseprite files, used in duel6r
aseprite-rgba-converter
: Tiny project to convert a .ase to a RGBA Byte array
aseprite
: Animated sprite editor & pixel art tool (Windows, macOS, Linux)
aseprite
: A parser for the aseprite sprite editor files
bvh11
: A tiny C++11 library for reading BVH motion capture data
HybridPose
: HybridPose: 6D Object Pose Estimation under Hybrid Representation (CVPR 2020)
Choreograph
: A simple, modern C++ animation and timing library
Graphics / Fonts & Texts
pathfinder
: A fast, practical GPU rasterizer for fonts and vector graphics
breaking_the_physical_limits_of_fonts
: Breaking the physical limits of fonts
BitmapFont
: cross-platform bitmap font implementation
blit-fonts
: A family of small, fast, and simple bitmap fonts in single-file C headers
Graphics / Images & Textures
astc_dec
: Single source file ASTC texture decompression in C++ (derived from Google's open source Android project)
blurhash
: A very compact representation of a placeholder for an image
image-resampler
: A flexible image resampling library
basis_universal
: Basis Universal GPU Texture Codec
sproutline
: A small single-file library for sprite outline extraction and simplification for C/C++
atlasc
: Builds atlas texture from a bunch of input images
squeezer
: Texture Packer for Game Development Using MaxRects Algorithm
Imogen
: GPU Texture Generator
Fornos
: GPU Texture Baking Tool
crabby
: A texture compression algorithm for sprite sheets that allows decompression on the GPU during rendering
GPUImage
: An open source iOS framework for GPU-based image and video processing
image_lib
: Image loading library
knusperli
: A deblocking JPEG decoder
bc7enc16
: Fast single source file BC7/BPTC texture encoder with perceptual metric support
img2ktx
: Converts common image formats (PNG, JPG, etc.) to GPU-native compressed (BCn, ETC, ASTC) in KTX containers
Zpng
: Better lossless compression than PNG with a simpler algorithm
lodepng
: PNG encoder and decoder in C and C++
bimg
: Image library
topng
: Convert image to png using stb_image and stb_image_write
gif_load
: A slim, fast and header-only GIF loader written in C
mozjpeg
: Improved JPEG encoder
nanosvg
: Simple stupid SVG parser
gif-h
: Simple C++ one-header library for the creation of animated GIFs from image data
TinyJPEG
: Single header lib for JPEG encoding. Public domain. C99. stb style
compressonator
: Tool suite for Texture and 3D Model Compression, Optimization and Analysis using CPUs, GPUs and APUs
unity-texture-packer
: Utility to combine color channels from different textures into a single output
dds-ktx
: Single header KTX/DDS reader
tacit-texview
: A texture viewer for tga, png, exr, dds, gif, hdr, jpg, tif, ico, and bmp files. Uses Dear ImGui, OpenGL, and Tacent. Useful for game devs as it displays information like the presence of an alpha c…
tinyexr
: Tiny OpenEXR image loader/saver library
crunch
: Advanced DXTc texture compression and transcoding library
Graphics / PBR & RT & PT
VisRTX
: Visualization framework powered by NVIDIA RTX technology
rdb
: Ray-tracing visual debugger
nanort
: NanoRT, single header only modern ray tracing kernel
pbrt-v3
: Source code for pbrt, the renderer described in the third edition of "Physically Based Rendering: From Theory To Implementation", by Matt Pharr, Wenzel Jakob, and Greg Humphreys
BRDFGenerator
: BRDF LUT generation for PBR Pipelines
pbrt-parser
: A simple parser for the PBRT file format
GettingStartedWithRTXRayTracing
: Getting Started with RTX Ray Tracing
Fox2
: FoxRaycaster, optimized, fixed and with a CUDA option
mitsuba-im
: Immediate-mode fork of the mitsuba renderer
mitsuba
: Mitsuba renderer main repository
LGHDemo
: Real-Time Rendering with Lighting Grid Hierarchy I3D 2019 Demo
gpu-pathtracer
: physically based path tracer on gpu
sparse-voxel-octrees
: CPU Sparse Voxel Octree Implementation
tungsten
: High performance physically based renderer in C++11
MiyukiRenderer
: High performance pbrt-style renderer
ray-tracing-gems
: Source Code for "Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs" by Eric Haines and Tomas Akenine-Möller
RayTracingInVulkan
: Implementation of Peter Shirley's Ray Tracing In One Weekend book using Vulkan and NVIDIA's RTX extension
- RayTracingInVulkan
: Implementation of Peter Shirley's Ray Tracing In One Weekend book using Vulkan and NVIDIA's RTX extension
RadeonRays_SDK
: Radeon Rays is ray intersection acceleration library for hardware and software multiplatforms using CPU and GPU
filament
: Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGL
ToyPathTracer
: Toy path tracer for my own learning purposes (CPU/GPU, C++/C#, Win/Mac/Wasm, DX11/Metal, also Unity)
PBR
: An implementation of physically based shading model & image based lighting in various graphics APIs
IBLBaker
: Light probe generation and BRDF authoring for physically based shading
The-Forge
: The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4
simple-spectral
: A Simple Spectral Renderer
MaskedOcclusionCulling
: Example code for the research paper "Masked Software Occlusion Culling"; implements an efficient alternative to the hierarchical depth buffer algorithm
Multimedia / Audio
Amplitude Audio SDK
: Free, cross-platform, open-source, data-driven audio engine designed with the needs of games in mind
soloud
: Free, easy, portable audio engine for games
openal-soft
: OpenAL Soft is a software implementation of the OpenAL 3D audio API
libsnd
: Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist
HISE
: The open source framework for sample based instruments
miniaudio
: Single file audio playback and capture library written in C
helm
: Helm - a free polyphonic synth with lots of modulation
sfMidi
: Library for playing midi files with SFML
Cadence
: Collection of tools useful for audio production
Carla
: Audio plugin host
RenderMan
: Command line C++ and Python VSTi Host library with MFCC, FFT, RMS and audio extraction and .wav writing
PLEBTracker
: Ncurses based audio tracker program inspired by goattracker and milkytracker
LabSound
: modern C++ graph-based audio engine
MIDI_controller
: This is a library for creating a MIDI controller using an Arduino or Teensy board
oboe
: Oboe is a C++ library that makes it easy to build high-performance audio apps on Android
Twist
: Twist - node-based audio synthesizer
blastmidi
: A C library to read standard MIDI files
ass
: ASS: Audio Stupidly Simple
FAudio
: FAudio - Accuracy-focused XAudio reimplementation for open platforms
libxm
: A small XM (FastTracker II Extended Module) player library
minimp3
: Minimalistic MP3 decoder single header library
libnyquist
: Cross platform C++11 library for decoding audio (mp3, wav, ogg, opus, flac, etc)
cute_dsp
: Utility library for cute_sound
DSP-Cpp-filters
: DSP C++ audio filters
DSPFIR
: C++ to go with blog post
iPlug2
: C++ Audio Plug-in Framework for desktop, mobile and web [PRE-RELEASE]
rfxgen
: A simple and easy-to-use fx sounds generator
raudio
: A simple and easy-to-use audio library based on miniaudio
Multimedia / Audio / Audio Synthesis and Speech recognition
flite
: A small fast portable speech synthesis system
codespeak
: A web-based speech-to-code editor for humans
subsync
: Subtitle Speech Synchronizer
speech_synth_series
: Let’s Create a Speech Synthesizer
synthv1
: synthv1 - an old-school polyphonic synthesizer
DeepSpeech
: A TensorFlow implementation of Baidu's DeepSpeech architecture
pocketsphinx
: PocketSphinx is a lightweight speech recognition engine, specifically tuned for handheld and mobile devices, though it works equally well on the desktop
Tonic
: Easy and efficient audio synthesis in C++
stk
: The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language
Multimedia / Video
videoInput
: A video capture library for windows
FFmpeg
: Mirror of git://source.ffmpeg.org/ffmpeg.git
MiniVideo
: A multimedia framework developed from scratch in C/C++, bundled with test programs and a neat media analyzer
mpv
: Video player based on MPlayer/mplayer2
minimp4
: Minimalistic MP4 mux/demux single header library
pl_mpeg
: Single file C library for decoding MPEG1 Video and MP2 Audio
FFMpeg-decode-example
: Example how to use ffmpeg to decode video file
Physics
GamePhysicsCookbook
: Source code for Game Physics Cookbook
Physics / 2D Physics
Box2D
: Box2D is a 2D physics engine for games
b2dJson
: Utilities to load scenes created by the R.U.B.E Box2D editor
phyxed-2d
: A 2d physics engine with fixed-point support
Physac
: 2D physics header-only library for videogames developed in C using raylib library
box2d-lite
: A small 2D physics engine
PlayRho
: Real-time oriented physics engine and library that's currently best suited for 2D games
liquidfun
: 2D physics engine for games
Physics / 3D Physics
bullet3
: Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc
PhysX-3.4
: NVIDIA PhysX SDK 3.4
ragdoll_simulator
: ragdoll simulator based on PhysX-3.3
physics_playground
: Improved version of real-time physics engine that couples FEM-based deformables and rigid body dynamics
reactphysics3d
: Open source C++ physics engine library in 3D
BVH-based-Collision-Detection-Scheme
: General broad-phase collision detection framework using BVH and BVTT front tracking
cyclone-physics
: The Physics engine that accompanies the book "Game Physics Engine Design"
glChAoS.P
: Real time 3D strange attractors scout and hypercomplex fractals
- bounce
: Bounce is a 3D physics engine for games
newton-dynamics
: Newton Dynamics is an integrated solution for real time simulation of physics environments
nudge
: A small data-oriented and SIMD-optimized 3D rigid body physics library
JoltPhysics
: A multi core friendly rigid body physics and collision detection library
Physics / Water & Fluids
waves
: Ocean Wave Simulation -
wfc
: A C++ port of Wave Function Collapse Tiling
fluid-engine-dev
: Fluid simulation engine for computer graphics applications
fluids
: Simple "Stable Fluids" Implementation
water-wave-packets
: Sandbox binary and source code for the Siggraph 2017 paper "Water Wave Packets" by Stefan Jeschke (NVIDIA) and Chris Wojtan (IST Austria)
GridFluidSim3D
: A PIC/FLIP fluid simulation based on the methods found in Robert Bridson's "Fluid Simulation for Computer Graphics"
FluidEngine
: Offline fluid simulation solver adopted from
Blender-FLIP-Fluids
: FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite
incremental-fluids
: Simple, single-file fluid solvers for learning purposes
Fluid-Simulation
: Fluid Simulation on CPU and GPU in C++ with OpenGL
Bimocq
: Efficient and Conservative Fluids Using Bidirectional Mapping
Physics / IK
invk
: Invk - Inverse Kinematics Library with Quaternions
gear
: A C++ library for kinematics and dynamics of articulated rigid body systems
softIkSolver
: Maya Soft IK Solver
Physics / Cloth
Yarn-cloth-sim
: Implementation of ‘Yarn-Level Simulation of Woven Cloth’ on Siggraph Asia 2014
libwetcloth
: A Multi-Scale Model for Simulating Liquid-Fabric Interactions
FastMassSpring
: Interactive cloth simulator using the method described in the SIGGRAPH paper "Fast Simulation of Mass-Spring Systems" by Liu, T., Bargteil, A. W., Obrien, J. F., & Kavan, L
ThunderLoom
: A physically based shader for woven cloth
Networking
LUrlParser
: Lightweight URL & URI parser (RFC 1738, RFC 3986)
wangle
: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way
Networking / TCP/UDP/HTTP
netcode.io
: A protocol for secure client/server connections over UDP
enet
: ENet reliable UDP networking library
minihttp
: A minimal 2-file (cpp+h) TCP & HTTP client implementation. Supports GET & simple POST. Optional SSL via PolarSSL/mbedTLS. Cross-platform, uses POSIX or Win32 API
SFNUL
: Simple and Fast Network Utility Library
uWebSockets
: Simple, secure & standards compliant web I/O for the most demanding of applications
net11
: Simple embeddable C++11 async tcp,http and websocket serving
libclub
: Lightweight Peer-to-Peer networking engine for real time applications
cxxhttp
: Asynchronous, Header-only C++ HTTP-over-(TCP|UNIX Socket|STDIO) Library
librg
: Build simple and fast cross-platform multiplayer
utp-native
: Native bindings for libutp
czspas
: Minimalistic socket library inspired by Asio/Boost Asio, implemented in 1 single header file
netlibrary
: A simple networking library for C++. Designed with games in mind, but can be used for other things. Tested to work on Android and Windows
RakNet
: RakNet is a cross platform, open source, C++ networking engine for game programmers
frnetlib
: Small and fast cross-platform networking library, with support for messaging, IPv6, HTTP, SSL and WebSocket
GameNetworkingSockets
: Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. Encryption
QuantumGate
: QuantumGate is a peer-to-peer (P2P) communications protocol, library and API written in C++
- rttp
: RTTP - A Reliable Realtime Transport Protocol
clsocket
: SimpleSockets is a lightweight set of classes that allow developers to implement IP based network programs
https_client
: HTTP/HTTPS REST Client C Library
libquicknet
: Simple and small reliable UDP networking library for games
NetDynamics
: Data-oriented networking playground for the reliable UDP transports
cpp-Socket
: Some class to help to construct client/server with soket and serilized datas
cpp-ORM
: A project to create a simple ORM
mbedtls
: An open source, portable, easy to use, readable and flexible SSL library
cpp-httplib
: A C++ header-only HTTP/HTTPS server and client library
rinetd
: TCP/UDP port redirector
swrap
: Portable, single-file, protocol-agnostic TCP and UDP socket wrapper, primarily for game networking
librg-cpp
: C++ wrapper for librg network library
zed_net
: Single file public domain networking library
http-parser
: http request/response parser for c
botan
: Cryptography Toolkit
reliable.io
: A packet acknowledgement system for UDP protocols
PcapPlusPlus
: PcapPlusPlus is a multiplatform C++ library for capturing, parsing and crafting of network packets. It is designed to be efficient, powerful and easy to use. It provides C++ wrappers for the most p…
Networking / SQL
scylla
: NoSQL data store using the seastar framework, compatible with Apache Cassandra
NLDatabase
: Lightweight C++ wrapper for SQLite
ndb
: Neuroshok DataBase
unqlite
: An Embedded NoSQL, Transactional Database Engine
sqlpp11
: A type safe SQL template library for C++
SQLiteCpp
: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper
hiberlite
: C++ ORM for SQLite
sqlite_orm
: SQLite ORM light header only library for modern C++
Networking / RPC
rpclib
: rpclib is a modern C++ msgpack-RPC server and client library
libjson-rpc-cpp
: C++ framework for json-rpc (json remote procedure call)
Game-NET
: RPC Network Library for Multiplayer Games
grpc
: The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
Networking / Server
nakama
: Distributed server for social and realtime games and apps
webby
: A tiny webserver for game development
yojimbo
: A network library for client/server games with dedicated servers
seasocks
: Simple, small, C++ embeddable webserver with WebSockets support
libhttpserver
: C++ library for creating an embedded Rest HTTP server (and more)
open-match
: Flexible, extensible, and scalable video game matchmaking
hifi
: Open source client/server software for creating shared VR environments. Docs at We are hiring: Also, PT work available at
crow
: Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
agones
: Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes
civetweb
: Embedded C/C++ web server
EmbeddableWebServer
: Cross-platform, single .h file HTTP server (Windows, Linux, Mac OS X)
libcluon
: libcluon is a small and efficient, single-file and header-only library written in modern C++ to power microservices
mongoose
: Mongoose Embedded Web Server Library - Mongoose is more than an embedded webserver. It is a multi-protocol embedded networking library with functions including TCP, HTTP client and server, WebSocke…
yhs
: Embeddable HTTP server
Server_Information_Panel
: Information Panel for DayZ SA
moon
: A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script
Game-Server-Configs
: A repo of game server configuration files used by LinuxGSM
AI
CppCompetitor
: A program for dueling code bots
Samodiva
: A C++ library for AI stuff. Hopefully it won't be as unfinished as the majority of my other repos
AI / Neural Network & Deep Learning
- neural
: Some plays with neural network
CppDNN
: Machine Learning for C++11
CubbyDNN
: Deep learning framework using C++17 in a single header file
TinNet
: A C++14 based deep learning library
onnxruntime
: ONNX Runtime: cross-platform, high performance scoring engine for ML models
RobotChess
: Auto Chess simulator using C++ with some reinforcement learning
tesseract
: Tesseract Open Source OCR Engine (main repository)
genann
: simple neural network library in ANSI C
plaidml
: PlaidML is a framework for making deep learning work everywhere
ncnn
: ncnn is a high-performance neural network inference framework optimized for the mobile platform
EOgmaNeo
: Ogma - EOgmaNeo
Dataset_Synthesizer
: NVIDIA Deep learning Dataset Synthesizer (NDDS)
mace
: MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms
pose-tensorflow
: Human Pose estimation with TensorFlow framework
nvvl
: A library that uses hardware acceleration to load sequences of video frames to facilitate machine learning training
codi
: CoDi is a cellular automaton model for spiking neural networks
Cranium
: A portable, header-only, artificial neural network library written in C99
darknet
: Convolutional Neural Networks
tiny-dnn
: header only, dependency-free deep learning framework in C++14
TensorRT
: TensorRT is a C++ library for high performance inference on NVIDIA GPUs and deep learning accelerators
kann
: A lightweight C library for artificial neural networks
cONNXr
: Pure C ONNX runtime with zero dependancies for embedded devices
AI / Path
MicroPather
: MicroPather is a path finder and A* solver (astar or a-star) written in platform independent C++ that can be easily integrated into existing code. MicroPather focuses on being a path finding engine…
rsmotion
: RSMotion - C++ Library for Reeds-Shepp Cars
invariant-ekf
: C++ library to implement invariant extended Kalman filtering for aided inertial navigation
lib_2d
: A c++ library for paths defined by points within the 2d space
cartographer
: Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations
Swarmz
: A free, header-only C++ swarming (flocking) library for real-time applications
Dubins-Curves
: Path generation for the Dubin's car
Scripting
scriptorium
: Game Scripting Languages benchmarked
craftinginterpreters
: Repository for the book "Crafting Interpreters"
ChaiScript
: Embedded Scripting Language Designed for C++
CppSharp
: Tools and libraries to glue C/C++ APIs to high-level languages
Ark
: Ark is a small, fast, functionnal and scripting language for video games
hhvm
: A virtual machine for executing programs written in Hack
cpp-embedding-mono
: Small sample on how to embed the mono runtime into a C++ program
wren
: The Wren Programming Language
v
: Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s. 1.0 release in December 2019
NativeJIT
: A C++ expression -> x64 JIT
kit
: Kit: a magical, high performance programming language, designed for game development. Pre-alpha!
pure-bash-bible
: A collection of pure bash alternatives to external processes
swig
: SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages
smoll-vm
: just a smoll vm in c++14
haxe
: Haxe - The Cross-Platform Toolkit
c4
: C in four functions
oc
: Macro magic for declaring/calling Objective-C APIs from C11 or C++. Preloads selectors, chooses the correct objc_msgSend to call per method/platform
breadboard
: C++ graph based event system
Cello
: Higher level programming in C
HCode
: A scripting language created mainly for game engines
Scripting / Lua
luazdf
: LuaZDF - Lua Zero Dependency Functions
- luavela
: Implementation of Lua 5.1, originally a fork of LuaJIT 2.0
raylib-lua-sol
: A simple and easy-to-use Lua library to enjoy videogames programming
LuaTalk
: Code examples used in my Lua talk
debugger.lua
: A simple, embedabble CLI debugger for Lua
lua-vec
: highly efficent, caching, copy-on-write lua vector math library
lunatic
: lunatic: a toy lua interpreter
kaun
: Lua module for 3D graphics to be used with löve ( )
lua
: The Lua repo, as seen by the Lua team. Mirrored irregularly. Please DO NOT send pull requests. Send issues/patches to the Lua mailing list
- LuaPlusPlus
: Lua 5.3.4 re-written in C++ 17
kaguya
: C++ binding to Lua
hsluv-lua
: Lua implementation of HSLuv (revision 4)
Luna
: Create simple visual sketches in Lua using SFML
lutok2
: Advanced version of lutok C++/Lua binding
sol2
: Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
lualite
: a one header library for creating Lua bindings to C++
lua-intf
: A binding between C++11 and Lua language
Selene
: Simple C++11 friendly header-only bindings to Lua
TypeScriptToLua
: Typescript to lua transpiler
Lua-Low-Level
: Per function, Lua JIT using LLVM C++ toolchain
lua-languages
: Languages that compile to Lua
luvit
: Lua + libUV + jIT = pure awesomesauce
- luamod
: C++11 API for binding Lua and C++, targeted at scripting for games
Scripting / Python
zippypy
: A simple, lightweight Python 2.7 interpreter, with predictable memory management and without global locks
pybind11
: Seamless operability between C++11 and Python
pystring
: C++ functions matching the interface and behavior of python string methods with std::string
python-cheatsheet
: Comprehensive Python Cheatsheet
zippypy
: A simple, lightweight Python 2.7 interpreter, with predictable memory management and without global locks
Scripting / Javascript
jerryscript
: Ultra-lightweight JavaScript engine for the Internet of Things
em-dosbox
: An Emscripten port of DOSBox
duktape
: Duktape - embeddable Javascript engine with a focus on portability and compact footprint
mjs
: Embedded JavaScript engine for C/C++
v8
: The official mirror of the V8 Git repository
GameProgramming
Nodable
: a node-able bidirectionnal expression editor
nodeeditor
: Qt Node Editor. Dataflow programming framework
FSM
: finite-state-machine demo
lasso
: A generic game loop implementation in C++
aabbcc
: Dynamic AABB trees in C++ with support for periodic systems
distance-occlusion
: A library of distance and occlusion generation routines
cppfsm
: A simple, generic, header-only state machine implementation for C++
Behavior-Tree
: A lightweight library of Behavior Trees Library in C++
Achieve
: Library to manage and implement achievements in a game
Discregrid
: A static C++ library for the generation of discrete functions on a box-shaped domain. This is especially suited for the generation of signed distance fields
game-programming-patterns
: Source repo for the book
fsm-variant
: Finite State Machine implementation using std::variant
camera_demo
: demo for par_camera_control.h
godot_entt_net_example
: A simple example on how to use entt ( ) and GameNetworkingSockets ( ) within godot
GameProgramming / EntityComponentSystem
ecs-example
: An example of an ECS architecture in C++
- Diana
: Entity Component system like Artemis implemented in C
entt-reactive
: An experimental sprite rendering setup utilizing SSBO's, Threading, EnTT reactive systems, and array-textures based sprite caching
minECS
: Minimal hackable C# ECS
lent
: the Donald Trump of the ECS libraries
anax
: An open source C++ entity system
ecs
: Thoughts about entity-component-system
flecs
: A Multithreaded Entity Component System written for C89 & C99
entt
: Gaming meets modern C++ - a fast and reliable entity-component system (ECS) and much more
corgi
: C++ entity-component system
ECS
: C++ single-header entity component system library
EntityPlus
: A C++14 Entity Component System
ecst
: [WIP] Experimental C++14 multithreaded compile-time entity-component-system library
entityx
: EntityX - A fast, type-safe C++ Entity-Component system
dynamix
: A new take on polymorphism in C++
met-ecs
: A simple ECS library made for learning purposes (header-only)
GameProgramming / Inputs
XJoy
: Use Nintendo Switch JoyCons as a virtual Xbox 360 controller in Windows
drishti
: Real time eye tracking for embedded and mobile devices
openpose
: OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation
libgamepad
: Cross-platform library for gamepad input. MIT licensed
gainput
: Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
gesture_recognition
: UVIC ECE 499 Real-Time Gesture Recognition Project
OpenHMD
: Free and Open Source API and drivers for immersive technology
EasyTab
: Single-header multi-platform tablet library
libue
: A self-contained minimal library for interacting with Linux hot-plug events
GameProgramming / Maps
GameProgramming / Procedural
SpaceshipGenerator
: A Blender script to procedurally generate 3D spaceships
Procedural-Cities
: master thesis
termProject
: Terrain generator with 5 visually distinct biomes, spread them in regions and smooth their borders
libseed
: Procedural Content Generation Library for C++
proctree
: Procedural tree mesh generator (and editor)
World-Generator
: Procedural world generator. Generates a height map and then applies temperature, rainfall, and river simulations to it to form a world map
FantasyMapGenerator
: A fantasy map generator based on Martin O'Leary's "Generating fantasy map" notes
procgen
: Procedural Generation Experiments
rant
: Rant – The all-purpose procedural text library
SDS
: Procedural generation of organic 3D geometry
fugu
: Fugu/fg is a system for procedurally generating animated geometric forms in real-time. Fugu can be downloaded from , an online reference and gallery is also located there
generator
: A procedural geometry generation library for C++11
Procedural-Terrain-Estimator
: Generate Height map with Generator (OpenGL and imgui) and Construct Splat Map with generated height map using Algorithm(DPS, BFS, Gradient Descent ... etc) . At Renderer, with height map and blend …
GameProgramming / Integration
Playnite
: Open source video game library manager with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay. Including game emulation support, providing one unified interface for your…
game-jolt-api-cpp-library
: C++ Library to connect games with Game Jolt ( )
CSteamworks
: C bindings for Steamworks
- enkiWS
: Web Services for game developers on Google App Engine
steam-audio
: Steam Audio
tiniest-analytics
: VERY simple cross-platform C++ analytics for games (using Google Analytics)
BRINDIE-FREE
: BRINDIE FREE - an .ai sourcefile with sizes for art assets needed to create Facebook page, Twitter profile, Steam Store page and Steam Developer page
Proton
: Compatibility tool for Steam Play based on Wine and additional components
GameProgramming / Games
endless-sky
: Space exploration, trading, and combat game
Cytopia
: A city building simulation game
mudpp
: C++17 exploration of a classic MUD like game
magarena
: Magarena is a single-player fantasy card game played against a computer opponent
robotligan
: Multiplayer football game
VVVVVV
: The source code to VVVVVV!
DTL_RogueLike
: : RogueLike (Dungeon Template Library)
UniformDieCast
: C++11 provides chainable and iterable object for uniform die casts. Useful for statistics or table top RPG simulations
Rust
iced
: A renderer-agnostic GUI library for Rust, inspired by Elm
tetra
: A simple 2D game framework written in Rust
arewegameyet
: The repository for arewegameyet.rs
rust-ecosystem
: Rust wants & tracking for Embark
treeflection
: A rust library that provides pseudo-reflection for structs and enums
wg
: Coordination repository of the Game Development Working Group
reference
: The Rust Reference
shipyard
: Entity Component System written in Rust
physx-rs
: Rust binding and wrapper over NVIDIA PhysX
ndarray
: ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
amethyst
: Data-oriented and data-driven game engine written in Rust
cheats.rs
: Rust Language Cheat Sheet -
mathbench-rs
: Comparing performance of Rust math libraries for common 3D game and graphics tasks
vulkano
: Safe and rich Rust wrapper around the Vulkan API
imgui-rs
: Rust bindings for dear imgui
chip8
: Yet another chip8 interpreter in rust
gfx
: A low-overhead Vulkan-like GPU API for Rust
rustcxx
: rustcxx: Using C++ from Rust made easy
ngx-rust
: Rust binding for NGINX
diesel
: A safe, extensible ORM and Query Builder for Rust
dynstack
: A stack for rust trait objects that minimizes allocations
cc-rs
: Rust library for build scripts to compile C/C++ code into a Rust library
rust
: Empowering everyone to build reliable and efficient software
unosolo
: Work-in-progress Rust application that converts C++ header-only libraries to single self-contained headers
r4cppp
: Rust for C++ programmers
rendy
: State of the art "build your own engine" kit powered by gfx-hal
u2N
: Fixed-size, zero-allocation arithmetic suitable for embedded systems
glam-rs
: A simple and fast linear algebra library for games and graphics
wgpu
: Native WebGPU implementation based on gfx-hal
rs-tiled
: Reads files from the Tiled editor into Rust
awesome-rust
: A curated list of Rust code and resources
Nazarust
: An experiment to rewrite NazaraEngine using Rust
ggez
: Rust library to create a Good Game Easily
render-rs
: Collection of rust crates providing rendering abstractions
Tools
build2
: build2 build system
rcrl
: Read-Compile-Run-Loop: tiny and powerful interactive C++ compiler (REPL)
LibreSprite
: Animated sprite editor & pixel art tool -- Fork of the last GPLv2 commit of Aseprite
smldbg
: A small, dependency free debugger
training-kit
: Open source cheat sheets for Git and GitHub
SZZUnleashed
: An implementation of the SZZ algorithm, i.e., an approach to identify bug-introducing commits
ClangBuildAnalyzer
: Clang build analysis tool using -ftime-trace
tev
: High dynamic range (HDR) image comparison tool for graphics people with an emphasis on OpenEXR images
exception_reporter
: A tool to collect the exceptions that can reach a C++ function
ScreenToGif
: ScreenToGif allows you to record a selected area of your screen, edit and save it as a gif or video
dxil-signing
: Utility to sign DXIL code after compilation
nvtop
: NVIDIA GPUs htop like monitoring tool
3dtiles
: The fastest tools for 3dtiles convert in the world!
greenshot
: Greenshot for Windows - Report bugs & features go here: or look for information on:
Dependencies
: A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues
butler
: Command-line itch.io helper
FNode
: Tool based in nodes to build GLSL shaders without any programming knowledge written in C using OpenGL and GLFW
NormalmapGenerator
: A simple program that converts images into normal maps
Laigter
: A simple tool for automatic generation of normal/specular/parallax/occlussion maps for dynamic lights in games. Mainly focused for 2D sprites
cppclean
: Finds problems in C++ source that slow development of large code bases
veles
: Binary data analysis and visualization tool
sanitizers
: AddressSanitizer, ThreadSanitizer, MemorySanitizer
sprite-sheet-packer
: Sprite sheet packer
HlslTools
: A Visual Studio extension that provides enhanced support for editing High Level Shading Language (HLSL) files
include-what-you-use
: A tool for use with clang to analyze #includes in C and C++ source files
dust3d
: Dust3D is a cross-platform open-source 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one
shaderc
: A collection of tools, libraries, and tests for Vulkan shader compilation
opentoonz
: OpenToonz - An open-source full-featured 2D animation creation software
waifu2x-ncnn-vulkan
: waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan
IntelShaderAnalyzer
: Command line tool for offline shader ISA inspection
polyedit
: 2d lowpoly editor based on
PlotJuggler
: The timeseries visualization tool that you deserve
incbin
: Include binary files in C/C++
ToolsOfTheTrade
: Tools of The Trade, from Hacker News
hexembed
: A small utility to embed files into C or C++ programs
NMS-Tools
: Set of tools for No Man's Sky
fontforge
: Free (libre) font editor for Windows, Mac OS X and GNU+Linux
TextureGenerator-Online
: Procedural texture creator Online
NormalMap-Online
: NormalMap Generator Online
travis_cpp_tutorial
: Tutorial how to use Travis CI with C++
android-ndk
: Android NDK samples with Android Studio
fips
: High-level build system for distributed, multi-platform C/C++ projects
reopt
: A tool for analyzing x86-64 binaries
cppcheck
: static analysis of C/C++ code
cpp-forensics
: C++ crash dump server
cpack
: File-to-sourcecode packer
templight
: Templight is a Clang-based tool to profile the time and memory consumption of template instantiations and to perform interactive debugging sessions to gain introspection into the template instantia…
stack-on-a-budget
: A collection of services with great free tiers for developers on a budget
- mkvfx
: Build scripts for libraries commonly used in games, film and vfx
masterplan
: MasterPlan is a project management software / visual idea board software. It attempts to be easy to use, lightweight, and fun
public-apis
: A collective list of free APIs for use in software and web development
docker
: Lightweight containers for building C++
grafana
: The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More
opengametools
: A set of open c++ game development tools that are lightweight, easy-to-integrate and free to use. Currently hosting a magicavoxel .vox full scene loader
cpp-dependencies
: Tool to check C++ #include dependencies (dependency graphs created in .dot format)
pubgrub
: Pubgrub dependency resolution algorithm for C++
pacm
: C++ front-end package manager for embedding and redistributing with native applications
Arbiter
: Dependency manager library that supports decentralization
oss-fuzz
: OSS-Fuzz - continuous fuzzing of open source software
Tools / Visual Studio Extensions
SPIRV-VSExtension
: SPIR-V extension for Visual Studio
asm-dude
: Visual Studio extension for assembly syntax highlighting and code completion in assembly files and the disassembly window
fastbuild
: High performance build system for Windows, OSX and Linux. Supporting caching, network distribution and more
LivePP
: A UE4 plugin wrapper for Molecular Matter's Live++ Hot-Reloading Library
ue4-vs-extensions
: Useful UE4 Visual Studio extensions
GLSL
: VSIX Project that provides GLSL language integration
UnityMixedCallstack
: Visual Studio native debugger extension to help debug native applications using Mono
vs-chromium
: A Visual Studio extension containing a collection of tools to help contributing code to the Chromium project
VSDebugPro
: Enhanced debugging for C/C++. Dump blocks of data, load data in memory and more
CompileTimer
: Set of tests to benchmark the compile time of c++ constructs
TestAdapter_Catch2
: Visual Studio Test Adapter for Catch2
vscode-shader
: Shader languages support for VS Code
VS-ColorThemes
: Visual Studio Extension that installs additional color themes
Tools / Git
git-flight-rules
: Flight rules for git
gitsuggest
: A tool to suggest github repositories based on the repositories you have shown interest in
Tools / Projects
bscxx
: BSCXX (for BootStrap CXX project) is a C++ package manager
Sharpmake
: Sharpmake is an open-source C#-based solution for generating project definition files, such as Visual Studio projects and solutions, GNU makefiles, Xcode projects, etc
poac
: Package manager for C++
ninja
: a small build system with a focus on speed
conan-google-benchmark
: Conan recipe for Google Benchmark library
conan-irrlicht
: Conan recipe for Irrlicht library
cmake-scripts
: CMake scripts shared among other repositories
conan
: Conan - The open-source C/C++ package manager
premake-cmake
: cmake output for premake5
vcpkg
: C++ Library Manager for Windows, Linux, and MacOS
ucm
: Useful cmake macros that help with: compiler/linker flags, collecting sources, PCHs, Unity builds and other stuff
cotire
: CMake module to speed up builds
cmakepp
: An Enhancement Suite for the CMake Build System
cmake_format
: Source code formatter for cmake listfiles
learning-cmake
: learning cmake
cpp-project
: Boiler plate template for C++ projects, with CMake, Doctest, Travis CI, Appveyor, Github Actions and coverage reports
conan-center-index
: Recipes for the ConanCenter repository
ios-cmake
: A CMake toolchain file for iOS, watchOS and tvOS C/C++/Obj-C++ development
Box2D-cmake
: CMake wrapper for Box2D, since it uses premake5
cpp-oss-template
: C++ Open Source Software Template
cmake
: A set of cmake modules to assist in building code
travis-gtest-cmake-example
: Example of a gtest and cmake set up for C++ on Travis-CI
gtest-cmake-example
: Helpful example of a gtest and cmake set up for C++
travis_gcc_cpp17
: Minimal C++17 project using the GCC compiler and is checked by Travis CI
Awesome
awesome-cmake
: A curated list of awesome CMake resources, scripts, modules, examples and others
bookmarks
: Collection of public dev bookmarks, shared with
cpp_youtube_channels
: Listing of C++ Youtube channels for conferences and user groups
programming-talks
: Awesome & interesting talks about programming
awesome-modern-cpp
: A collection of resources on modern C++
Awesome-Game-Networking
: A Curated List of Game Network Programming Resources
awesome-behavior-trees
: A list of awesome Behavior Trees resources
GameDevelopmentLinks
: This is a collection of useful game-development links including, but not restricted to, development with MonoGame
awesome-entity-component-system
: A curated list of Entity-Component-System (ECS) libraries and resources
awesome-casestudy
: Curated list of technical case studies on WebGL and creative development
awesome-cg-vfx-pipeline
: List of open-source technologies that help in the process of building a pipeline for CG and VFX productions
awesome-glsl
: Compilation of the best resources to learn programming OpenGL Shaders
cpp_blogs
: C++ Blogs (plus other stuff we should care about like undefined behavior)
awesome-rtx
: Curated collection of projects leveraging NVIDIA RTX technology (OptiX, DXR, VKR)
zalo.github.io
: A home for knowledge that is hard to find elsewhere
awesome-gamedev
: A list of Game Development resources to make magic happen
gamedev-resources
: An updated collection of useful resources to resources to design, develop and market games
build-your-own-x
: Build your own (insert technology here)
awesome-ray-tracing
: Curated list of ray tracing resources
awesome-vulkan
: Awesome Vulkan ecosystem
awesome-opengl
: A curated list of awesome OpenGL libraries, debuggers and resources
hall-of-fame
: Show some love to your contributors! A widget for your repo README. Visual and clean. Refreshes every hour
awesome-collision-detection
: A curated list of awesome collision detection libraries and resources
AwesomePerfCpp
: A curated list of awesome C/C++ performance optimization resources: talks, articles, books, libraries, tools, sites, blogs. Inspired by awesome
awesome-d3d12
: Awesome D3D12 ecosystem
awesome-cpp
: A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff
awesome-bits
: A curated list of awesome bitwise operations and tricks
cpplinks
: A categorized list of C++ resources
- awesome-gametalks
: A curated list of gaming talks (development, design, etc)
awesome-design
: Best UI/UX Design Sources For Developer & Designer Ever :)
awesome-gamedev
: A collection of free software and free culture resources for making amazing games. (mirror)
magictools
: A list of Game Development resources to make magic happen
awesome
: Awesome lists about all kinds of interesting topics
awesome-c
: A curated list of awesome C frameworks, libraries and software
awesome-mental-health
: A curated list of awesome articles, websites and resources about mental health in the software industry
modern-cpp-tutorial
: A curated list of Modern C++ articles, examples, tutorials, frameworks, libraries, and shiny things
awesome-wgpu
: A curated list of wgpu code and resources
awesome-gametalks
: A curated list of gaming talks (development, design, etc)
data-oriented-design
: A curated list of data oriented design resources
awesome-actions
: A curated list of awesome actions to use on GitHub
- awesome-raylib
: A curated list of awesome stuff for raylib; the simple and easy-to-use library to enjoy videogames programming
GameProgrammerPath
uLicense
: Tiny and free software license in 299 bytes
game-programmer
: A Study Path for Game Programmer
every-programmer-should-know
: A collection of (mostly) technical things every software developer should know
coding-interview-university
: A complete computer science study plan to become a software engineer
interviews
: Everything you need to know to get the job
interview
: Everything you need to prepare for your technical interview
reverse-interview
: Questions to ask the company during your interview
SoftwareArchitect
: Path to a Software Architect
GameDesign
Website
minimal-mistakes
: Jekyll theme for building a personal site, blog, project documentation, or portfolio
water.css
: A just-add-css collection of styles to make simple websites just a little nicer
coder
: A simple way to make web stuff on Raspberry Pi
Freelander
: Simple landing page that just works
animate.css
: A cross-browser library of CSS animations. As easy to use as an easy thing
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions AwesomeCppGameDev.