This branch is 228 commits behind josh/JGL:master
This patch updates CachedFont to now use an std::map for cached glyphs, instead of an std::vector. std::map allows O(log n) lookup, whereas std::vector only allows O(n) lookup. Note: std::unordered_map technically has better lookup complexity here, with amortized O(1) lookup. However, hashmaps have a higher inherent overhead than red-black trees so this would only be viable when going above around 100 entries, which should never happen here for ASCII glyphs.
Josh Graphics Library
Yet Another C++ Rendering Toolkit
Goals
- Provide single-function-calls to render various graphics primitives in 2D and 3D.
- Integrated directly with our other toolkits (ReWindow, J3ML)
- Quick Rendering of Debug Text, Geometric Widgets, Textures, and so forth.
Non-Goals
- Full Rendering Engine
- OpenGL/Vulkan Wrapper
- Asset Loading & Management
Features
- Modern C++ (20)
- Little-to-no overhead
- No hand-holding
- No-frills, straight up just renders shapes and text.
- Integrates right into an existing OpenGL rendering system.
Usage
Install instructions and code samples coming soon ™️ !
Documentation
Documentation is (sic: will be) automatically generated from latest commit and is hosted at https://doc.redacted.cc/jgl .
Contributing
Contributions to JGL are welcome! If you find a bug, have a feature request, or would like to contribute code, please submit an issue or pull request to our repository!
License
JGL is licensed under the Public Domain. See the LICENSE file for details.
Acknowledgements
JGL is developed and maintained by Josh O'Leary @ Co from Redacted Software and contributors. Special thanks to Redacted.
Description
Languages
C++
93.8%
CMake
5.9%
Shell
0.3%