Technologies and dependencies

Last updated: 2024-01-05

LogoDescriptionLicense
C++ LogoBrickSim uses C++. The main reason for this choice was execution speed.-
CMake LogoBrickSim is built using the platform-independent build system CMake.BSD 3-clause
Dear ImGui LogoThe User Interface is made with Dear ImGui.MIT
OpenGL LogoOpenGL is used for rendering on all platforms.-
SQLite LogoSQLite3 is used to save settings and cache to the disk. The library SQLiteCpp is used.Public Domain, MIT
Hugo LogoHugo is a static site generator using go. It is used in BrickSimWeb.Apache 2.0
GLFWto create a window and handle inputs.zlib/libpng
gladto load the OpenGL libraryMIT
Miniballto determine the smallest enclosing ball of points, for example to center the part thumbnails.Apache 2
stb_image.h and stb_image_write.hfor image reading and writing.Public domain
tinyfiledialogsto open native file dialogs on all platforms.zlib/libpng
rapidjsonto read and write data in the JSON format.MIT
Catch2 Logoused for unit testing.Boost Software License 1.0
pytorch/cpuinfoused to get information about the processorBSD-2-Clause
magic_enumused for easier enum handlingMIT
IconFontCppHeadersFor the FontAwesome Iconszlib
ImGuiColorTextEditText editorMIT
FCLFlexible Collision Library to determine which parts are close to each otherBSD-3-Clause
fast_floatfast float parsingApache 2, Boost and MIT
efswTo get notified about file changesMIT
earcut.hppPolygon triangulation (for example for !TEXMAP)ISC
json_dtoMapping JSON to a struct and backBSD-3-Clause
spdlogLoggingMIT
unordered_denseFast and efficient hashmap and hashsetMIT
utfcppUTF handlingBoost