awesome-projects
awesome-projects copied to clipboard
:sunglasses: A curated list of awesome projects
Awesome Projects
A curated list of awesome projects from my experience
Table of Contents
- Libraries
- Software / Web Services
- Other Awesome Lists
Libraries
Benchmark / Profile
-
brofiler (github
) - C++ Profiler For Games.
- easy_profiler (github
) - Lightweight cross-platform profiler library for C++.
- microprofile (github
) - An embeddable profiler.
-
Orbit (github
) - A standalone profiler and debugging tool for Windows and Linux.
- Remotery (github
) - Realtime CPU/D3D/OpenGL/CUDA/Metal Profiler in a single C file with web browser viewer.
-
semile (github
) - A profiling framework provides the ability to monitor programs, in general of any programming language with (1) consumed time per execution and (2) 'footprint' message per execution
- Tracy Profiler (github
) - A real time, nanosecond resolution, remote telemetry frame profiler for games and other applications.
Math
- Blaze (bitbucket) - An open-soure, high-performance C++ math library for dense and sparse arithmetic.
-
CGAL (github
- A software project that provides easy access to efficient and reliable geometric algorithms in the form of a C++ library.
- Eigen (bitbucket) - A C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
-
Elemental (github
) - A modern C++ library for distributed-memory dense and sparse-direct linear algebra and optimization which supports a wide range of functionality not available elsewhere.
-
libigl (github
) - A simple C++ geometry processing library.
-
MathFu (github
) - C++ math library developed primarily for games focused on simplicity and efficiency.
-
MathGeoLib (github
) - A C++ library for linear algebra and geometry manipulation for computer graphics.
- mgcpp (github
) - A CUDA based C++ linear algebra library.
- SymEngine (github
) - A fast symbolic manipulation library written in C++.
-
xtensor (github
) - A C++ library meant for numerical analysis with multi-dimensional array expressions.
Deformable object simulation
-
MFEM (github
) - A free, lightweight, scalable C++ library for finite element methods.
- Vega FEM - A computationally efficient and stable C/C++ physics library for three-dimensional deformable object simulation.
Machine Learning
- NN++ (github) - A small and easy to use neural net implementation for C++.
SIMD
-
Enoki (github
) - Structured vectorization and differentiation on modern processor architectures
- libsimdpp (github
) - Header-only zero-overhead C++ wrapper for SIMD intrinsics of multiple instruction sets.
- Vc (github
) - SIMD Vector Classes for C++
-
xsimd (github
) - C++ wrappers for SIMD intrinsics
SIMD Papers
- An evaluation of current SIMD programming models for C++ (2016) (pdf)
OpenCL - Wrappers
-
Chlorine (github
) - Dead Simple OpenCL (Compute).
-
Boost.Compute (github
) - A C++ GPU Computing Library for OpenCL.
- EasyCL (github
) - Easy to run kernels using OpenCL
- EasyOpenCL (github
) - The easiest way to get started with OpenCL!
-
VexCL (github
) - VexCL is a C++ vector expression template library for OpenCL/CUDA.
OpenCL - Applications
- Bullet (github) - Real-Time Physics Simulation (Bullet 3 includes the optional work-in-progress GPU pipeline.)
- DeepCL (github) - OpenCL library to train deep convolutional neural networks.
- libclsph (github) - OpenCL based GPU accelerated SPH fluid simulation library.
- OpenCL-caffe (github) - OpenCL version of caffe developed by AMD research lab.
Meta Programming
- Brigand (github) - A light-weight, fully functional, instant-compile time C++ 11 meta-programming library.
- Metal (github) - A portable header-only C++14 library designed to make template metaprogramming enjoyable.
IO
Graphics
-
bgfx (github :star: 1.9k) - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
- fips-bgfx (github) - fipsified version of bgfx (CMake support)
- Magnum (github :star: 0.7k) - C++11/C++14 and OpenGL graphics engine.
- nanovg (github) - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
- OpenSceneGraph (github :star: 0.5k) - An open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling.
- Urho3D (github :star: 1.1k) - A free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license.
- VisualizationLibrary (github :star: 36) - A lightweight C++ OpenGL middleware for 2D/3D graphics.
2d Image Processing
- guetzli (github
) - A JPEG encoder that aims for excellent compression density at high visual quality.
Game Engine
-
CRYENGINE (github
)
- Cubby (github
) - Voxel-based Game Engine for MineScroll (based on AlwayGeeky's Vox)
- LumixEngine (github
) - 3D Game Engine.
-
shiva (github
)
-
Wicked Engine (github
)
GUI
- glfw (github :star: 1.9k) - A multi-platform library for OpenGL, window and input.
- im3d (github
) - Immediate mode rendering and 3d gizmos.
- imgui (github
) - Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
- NanoGUI (github :star: 0.6k) - A minimalistic cross-platform widget library for OpenGL 3.x.
- Nuklear (github
) - A minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain.
Logging
- Loguru (github) - A header-only C++ logging library.
- spdlog (github) - Very fast, header only, C++ logging library.
Signal
- wigwag (github) - C++ signals library.
Test
- Catch - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD
- doctest (github) - The lightest feature rich C++ single header testing framework for unit tests and TDD.
- Google Test
Python binding
- pybind11 (github) - Seamless operability between C++11 and Python.
Memory Allocator
-
memory - STL compatible C++ memory allocator library [github
]
- memory-allocators - Custom memory allocators in C++ to improve the performance of dynamic memory allocation [github
]
Entity Component System
Code
- ECS - C++ header-only type-safe entity component system library [github
]
Articles
- Entity Component Systems & Data Oriented Design [slides]
ETC
- args (github
) - A simple header-only C++ argument parser library.
-
FreeCAD (github
) - A general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialties.
-
rang (github
) - A Minimal, Header only Modern c++ library for colors in your terminal
- reflang (github
) - A reflection library & tool for modern C++. The tool parses your C++ code using libclang, then generates human-readable code around it to enable reflection.
Software / Web Service
Development
- cloc - cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.
- COVERALLS - Test Coverage History & Statistics.
- Coverity - Software testing and static analysis tools
- Cppcheck
- Reviewable - Github Code review assistant.
Code Formatter
- Uncrustify (github) - Source Code Beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA
Git/Mercurial
GUI client
Utilities
Package managers
- vcpkg - A package manager for Windows built by Microsoft.
ETC
C++ References / Guidelines
-
C++ Core Guidelines (Kor)
- GSL - Guidelines Support Library by Microsoft
- C++ reference
- C++ Samples
- C++ Best Practices - Collaborative collection of C++ best practices
-
Modern C++11 Features (
)
- More C++ Idioms
- Semantic Versioning Specification