|
47 | 47 | - [https://github.com/onqtam/cmake-reflection-template](https://github.com/onqtam/cmake-reflection-template) |
48 | 48 | - [https://github.com/preshing/FlexibleReflection/tree/part1](https://github.com/preshing/FlexibleReflection/tree/part1) |
49 | 49 | - [RTTR](https://www.rttr.org) |
50 | | -- [https://github.com/TheLartians/StaticTypeInfo](https://github.com/TheLartians/StaticTypeInfo) Compile time type info |
| 50 | +- [StaticTypeInfo](https://github.com/TheLartians/StaticTypeInfo): Compile time type info |
51 | 51 | - [Compile-time type info using constexpr](https://simoncoenen.com/blog/programming/StaticReflection.html) |
52 | 52 | - [Refureku](https://github.com/jsoysouvanh/Refureku): C++ reflection library based on Kodgen |
53 | 53 | - [Kodgen](https://github.com/jsoysouvanh/Kodgen): C++ parser & codegen |
|
60 | 60 | - [https://github.com/TartanLlama/tl](https://github.com/TartanLlama/tl) |
61 | 61 | - [https://github.com/tacticalmelonfarmer/cxl](https://github.com/tacticalmelonfarmer/cxl) |
62 | 62 | - [https://github.com/doom/meta](https://github.com/doom/meta) |
63 | | -- [https://github.com/boostorg/callable_traits](https://github.com/boostorg/callable_traits) |
64 | | -- Function type traits: [https://github.com/kennytm/utils/blob/master/traits.hpp](https://github.com/kennytm/utils/blob/master/traits.hpp) |
| 63 | +- [callable_traits](https://github.com/boostorg/callable_traits) |
| 64 | +- [function type traits](https://github.com/kennytm/utils/blob/master/traits.hpp) |
65 | 65 |
|
66 | 66 | ### C++ Utilities |
67 | 67 |
|
68 | 68 | - Functional programming: [https://github.com/Dobiasd/FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus) |
69 | | -- [https://github.com/Neargye/magic_enum](https://github.com/Neargye/magic_enum) |
70 | | -- Global Static objects: <https://github.com/graphitemaster/0xABAD1DEA> |
| 69 | +- [magic enum](https://github.com/Neargye/magic_enum) |
| 70 | +- Global Static objects: <https://github.com/graphitemaster/0xABAD1DEA> |
71 | 71 | - Asset Lib: <https://github.com/gpakosz/PPK_ASSERT> |
72 | 72 | - Debug Print Expression Macros: ocs.google.com/ |
73 | 73 |
|
74 | | -#### Type erasure |
| 74 | +### C++ Type erasure |
75 | 75 |
|
76 | 76 | - [boost te](https://github.com/boost-experimental/te) |
77 | 77 | - [dyno](https://github.com/ldionne/dyno) |
|
95 | 95 |
|
96 | 96 | ### Coroutines |
97 | 97 |
|
98 | | -- [libaco](https://github.com/hnes/libaco) - A blazing fast and lightweight C asymmetric coroutine library |
| 98 | +- [libaco](https://github.com/hnes/libaco): A blazing fast and lightweight C asymmetric coroutine library |
99 | 99 | - <https://github.com/Tencent/libco> |
100 | 100 | - [Stackless coroutine](https://github.com/RandyGaul/cute_headers/blob/master/cute_coroutine.h) |
101 | 101 |
|
|
104 | 104 | - [https://cista.rocks/](https://cista.rocks) |
105 | 105 | - [https://uscilab.github.io/cereal/](https://uscilab.github.io/cereal) |
106 | 106 |
|
107 | | -### Json |
| 107 | +### JSON |
108 | 108 |
|
109 | | -- JSON5 - JSON for Humans: <https://github.com/json5/json5> |
110 | | -- [https://github.com/Tencent/rapidjson](https://github.com/Tencent/rapidjson) |
| 109 | +- [JSON5](https://github.com/json5/json5): JSON for Humans |
| 110 | +- [rapidjson](https://github.com/Tencent/rapidjson) |
111 | 111 |
|
112 | 112 | ## Math |
113 | 113 |
|
114 | 114 | ### General |
115 | 115 |
|
116 | 116 | - Math library: [https://github.com/nfrechette/rtm](https://github.com/nfrechette/rtm) |
117 | | -- [cglm](https://github.com/recp/cglm) - better version of glm |
| 117 | +- [cglm](https://github.com/recp/cglm): better version of glm |
118 | 118 | - Procedural math tricks: <https://github.com/zalo/MathUtilities> - grab bag of some of the neat math and physics tricks |
119 | 119 | - Curves Library: <https://github.com/ethz-asl/curves/tree/master/curves/include/curves> |
120 | 120 | - Splines/Curves library: <https://github.com/andrewwillmott/splines-lib> |
121 | 121 |
|
122 | 122 | ### Geometry |
123 | 123 |
|
124 | | -- [libigl](https://libigl.github.io) - header only C++ geometry processing library |
125 | | -- [geometry-central](https://github.com/nmwsharp/geometry-central) - from Keenan Crane/GeometryProcess lab, containing implementations of Keenan's papers |
| 124 | +- [libigl](https://libigl.github.io): header only C++ geometry processing library |
| 125 | +- [geometry-central](https://github.com/nmwsharp/geometry-central): from Keenan Crane/GeometryProcess lab, containing implementations of Keenan's papers |
126 | 126 |
|
127 | 127 | ## Database |
128 | 128 |
|
129 | | -- [https://github.com/LMDB/lmdb](https://github.com/LMDB/lmdb) |
130 | | - - <https://mozilla.github.io/firefox-browser-architecture/text/0015-rkv.html> |
131 | | - - <https://dgraph.io/blog/post/badger-lmdb-boltdb/> |
132 | | -- [https://github.com/LMDB/sqlightning](https://github.com/LMDB/sqlightning) |
133 | | -- [https://github.com/erthink/libmdbx](https://github.com/erthink/libmdbx) |
134 | | -- [https://github.com/google/leveldb](https://github.com/google/leveldb) |
135 | | -- [https://realm.io/](https://realm.io) |
136 | | -- [dntree](https://github.com/reqa/ldap-lmdb-dntree) - an example implementation that shows how LDAP DNs can be stored in an lmdb database, structured as a hierarchical adjecency list |
| 129 | +- [lmdb](https://github.com/LMDB/lmdb) |
| 130 | + - [Firefox Design Review: Key-Value Storage](https://mozilla.github.io/firefox-browser-architecture/text/0015-rkv.html): simple key-value storage based on LMDB |
| 131 | + - [LMDB vs BoltDB](https://dgraph.io/blog/post/badger-lmdb-boltdb/) |
| 132 | +- [sqlightning](https://github.com/LMDB/sqlightning) |
| 133 | +- [libmdbx](https://github.com/erthink/libmdbx) |
| 134 | +- [leveldb](https://github.com/google/leveldb) |
| 135 | +- [realm.io](https://realm.io) |
| 136 | +- [dntree](https://github.com/reqa/ldap-lmdb-dntree): implementation showing how LDAP DNs can be stored in an lmdb database, structured as a hierarchical adjecency list |
137 | 137 | - [sqlite orm](https://github.com/fnc12/sqlite_orm) |
138 | 138 |
|
139 | 139 | ## Compute/GPU |
140 | 140 |
|
141 | 141 | - [https://github.com/imageworks/OpenShadingLanguage](https://github.com/imageworks/OpenShadingLanguage) |
142 | 142 | - slang |
143 | | -- falcor |
144 | | -- [https://github.com/xelatihy/yocto-gl](https://github.com/xelatihy/yocto-gl) |
| 143 | +- Falcor |
| 144 | +- [yocto-gl](https://github.com/xelatihy/yocto-gl) |
145 | 145 | - Blitz++ Multi-Dimensional Array Library: [https://github.com/blitzpp/blitz](https://github.com/blitzpp/blitz) |
146 | 146 | - [https://github.com/mitsuba-renderer/enoki](https://github.com/mitsuba-renderer/enoki) |
147 | 147 |
|
148 | 148 | ## Data Flow/Graph |
149 | 149 |
|
150 | | -- [https://github.com/FlexCoreLib/flexcore](https://github.com/FlexCoreLib/flexcore) |
151 | | -- [https://github.com/cross-platform/dspatch](https://github.com/cross-platform/dspatch) |
| 150 | +- [flexcore](https://github.com/FlexCoreLib/flexcore) |
| 151 | +- [dspatch](https://github.com/cross-platform/dspatch) |
152 | 152 |
|
153 | 153 | ## Networking |
154 | 154 |
|
155 | | -- [https://github.com/Qihoo360/evpp](https://github.com/Qihoo360/evpp) |
| 155 | +- [evpp](https://github.com/Qihoo360/evpp) |
156 | 156 |
|
157 | 157 | ## Platform |
158 | 158 |
|
|
170 | 170 | ### Hot reload |
171 | 171 |
|
172 | 172 | - Windows PE file parser: <https://github.com/serge1/COFFI> |
173 | | -- [Blink](https://github.com/crosire/blink) - function level runtime patching with pdb+COFF reader, linker, etc |
| 173 | +- [Blink](https://github.com/crosire/blink): function level runtime patching with pdb+COFF reader, linker, etc |
174 | 174 | - Run code from object files: |
175 | 175 | - <http://h3.gd/posts/how-not-to-use-dlls/> |
176 | 176 | - <https://github.com/h3r2tic/relocdll> |
177 | | -- [CR](https://github.com/fungos/cr) - single file header-only live reload solution for C, written in C++ |
| 177 | +- [CR](https://github.com/fungos/cr): single file header-only live reload solution for C, written in C++ |
178 | 178 |
|
179 | 179 | ## Animation |
180 | 180 |
|
181 | 181 | ### Libs |
182 | 182 |
|
183 | 183 | - [Ozz Animation Library](https://github.com/guillaumeblanc/ozz-animation) |
184 | | -- Animation Compression [https://github.com/nfrechette/acl](https://github.com/nfrechette/acl) |
| 184 | +- [Animation Compression Library](https://github.com/nfrechette/acl) |
185 | 185 |
|
186 | 186 | ### Skinning |
187 | 187 |
|
188 | 188 | - [https://github.com/sansumbrella/Choreograph](https://github.com/sansumbrella/Choreograph) |
189 | 189 | - [https://github.com/CMU-Perceptual-Computing-Lab/openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) |
190 | 190 | - [Dem Bones](https://www.ea.com/seed/news/open-source-dem-bones): Skinning Decomposition |
191 | 191 | - [https://github.com/damian0815/skellington](https://github.com/damian0815/skellington) |
192 | | -- Fast and Efficient Skinning of Animated Meshes |
193 | | - - Implementation: [https://github.com/tneumann/skinning_decomposition_kavan](https://github.com/tneumann/skinning_decomposition_kavan) |
194 | | -- Sparse Localized Deformation Components |
195 | | - - [http://www.drematrix.de/publications/sparse-localized-deformation-components/](http://www.drematrix.de/publications/sparse-localized-deformation-components) |
196 | | - - [https://github.com/tneumann/splocs](https://github.com/tneumann/splocs) |
| 192 | +- [Fast and Efficient Skinning of Animated Meshes](https://github.com/tneumann/skinning_decomposition_kavan): clean implementation in python |
| 193 | +- [Sparse Localized Deformation Components](http://www.drematrix.de/publications/sparse-localized-deformation-components): extract sparse, spatially localized deformation modes from animated mesh sequence |
| 194 | + - [splocs implementation](https://github.com/tneumann/splocs) |
197 | 195 |
|
198 | 196 | ## Compilers |
199 | 197 |
|
200 | 198 | ### Parallel Programming |
201 | 199 |
|
202 | | -- [https://github.com/thrust/thrust](https://github.com/thrust/thrust) (also [https://developer.nvidia.com/thrust](https://developer.nvidia.com/thrust)) |
203 | | -- [https://github.com/nlguillemot/CppSPMD](https://github.com/nlguillemot/CppSPMD) |
204 | | -- SPIRV to ISPC: [https://twitter.com/_tim_jones_/status/1006208754004553728](https://twitter.com/_tim_jones_/status/1006208754004553728) |
205 | | - - [spir-v-to-ispc-convert-gpu-compute-to-the-cpu](https://software.intel.com/en-us/articles/spir-v-to-ispc-convert-gpu-compute-to-the-cpu) |
206 | | -- Taichi Programming Language [http://taichi.graphics/](http://taichi.graphics) |
| 200 | +- [Nvidia CCCL](https://github.com/nvidia/cccl): unified Nvidia CUDA C++ Core Libraries for GPU-Accelerated |
| 201 | + - [Thrust](https://github.com/NVIDIA/thrust): high-level GPU API for parallel algorithms/data structures library |
| 202 | + - [Thrust Project Page](https://developer.nvidia.com/thrust): C++ Parallel Algorithm Library with high-level API with GPU/CPU configurable backends e.g. CUDA, TBB, OpenMP |
| 203 | + - [CUB](https://github.com/NVIDIA/cub) |
| 204 | + - [libcudacxx](https://github.com/NVIDIA/libcudacxx) |
| 205 | +- [Nvidia CUDA-X](https://developer.nvidia.com/gpu-accelerated-libraries): Nvidia GPU-Accelerated Libraries |
| 206 | +- [CppSPMD](https://github.com/nlguillemot/CppSPMD) |
| 207 | +- [SPIRV-Cross](https://software.intel.com/en-us/articles/spir-v-to-ispc-convert-gpu-compute-to-the-cpu): Intel's SPIR-V to ISPC translator; convert GPU Compute to CPU |
| 208 | + - [SPIRV-Cross Demo](https://shader-playground.timjones.io/7b188536275bddba2caad31d92a6691a): compiling a GLSL compute shader -> SPIR-V -> ISPC |
| 209 | + - [SPIRV-Cross Live](https://twitter.com/_tim_jones_/status/1006208754004553728): live demo support in Shader Playground |
| 210 | +- [Taichi Programming Language](http://taichi.graphics) |
207 | 211 |
|
208 | 212 | ### Algebraic Effects |
209 | 213 |
|
|
212 | 216 |
|
213 | 217 | ### Parsing |
214 | 218 |
|
215 | | -- [https://tree-sitter.github.io/tree-sitter/](https://tree-sitter.github.io/tree-sitter) - incremental parser |
216 | | -- [https://github.com/orangeduck/mpc](https://github.com/orangeduck/mpc) - parser combinator |
| 219 | +- [tree-sitter](https://tree-sitter.github.io/tree-sitter): incremental parser |
| 220 | +- [https://github.com/orangeduck/mpc](https://github.com/orangeduck/mpc): parser combinator |
217 | 221 | - [http://www.buildyourownlisp.com/contents](http://www.buildyourownlisp.com/contents) |
218 | 222 | - [https://github.com/TheLartians/Parser](https://github.com/TheLartians/Parser) |
219 | 223 | - [https://github.com/taocpp/PEGTL](https://github.com/taocpp/PEGTL) |
|
0 commit comments