This library is the core library of the GLGE library set. It is used to bind all user-facing APIs together. The main focus of the library is the construction of a comunication interface that can be used to comunice between the libraries, the user and the core application. This interface is designed to be easy to use and fast.
| Class name | C++ interface | C interface | First introduced in | Last updated in |
|---|---|---|---|---|
| App | ✅ | ✅ | 0.1.0 | 0.1.0 |
| BaseAsset | ✅ | ❌ | 0.1.0 | 0.1.0 |
| AssetManager | ✅ | ❌ | 0.1.0 | 0.1.0 |
| Event | ✅ | 0.1.0 | 0.1.0 | |
| EventHandler | ✅ | ✅ | 0.1.0 | 0.1.0 |
| Compression | ✅ | ✅ | 0.1.0 | 0.1.0 |
| Encryption | ✅ | ✅ | 0.1.0 | 0.1.0 |
| File | ✅ | ❌ | 0.1.0 | 0.1.0 |
| FileDecorator | ✅ | ✅ | 0.1.0 | 0.1.0 |
| Object | ✅ | ❌ | 0.1.0 | 0.1.0 |
| Scene | ✅ | ❌ | 0.1.0 | 0.1.0 |
| System | ✅ | ❌ | 0.1.0 | 0.1.0 |
| Transform | ✅ | ✅ | 0.1.0 | 0.1.0 |
| Mesh | ✅ | ✅ | 0.1.0 | 0.1.0 |
| MeshAsset | ✅ | ❌ | 0.1.0 | 0.1.0 |
| Triangle | ✅ | 0.1.0 | 0.1.0 | |
| VertexElement | ✅ | 0.1.0 | 0.1.0 | |
| VertexLayout | ✅ | ✅ | 0.1.0 | 0.1.0 |
| AABB | ✅ | ✅ | 0.1.0 | 0.1.0 |
| BVH | ✅ | ❌ | 0.1.0 | 0.1.0 |
| Sphere | ✅ | ❌ | 0.1.0 | 0.1.0 |
| Layer / LayerBase | ✅ | ✅ | 0.1.0 | 0.1.0 |
| LayerStack | ✅ | ✅ | 0.1.0 | 0.1.0 |
| Message | ✅ | ✅ | 0.1.0 | 0.1.0 |
| MessageListener | ✅ | ✅ | 0.1.0 | 0.1.0 |
| Settings | ✅ | ✅ | 0.1.0 | 0.1.0 |
To compile the library, simply clone the library from the directory. Make sure to clone recursivly to gather all submodules (simply run git clone --recurse-submodules https://github.com/DM8AT/GLGE_Core.git). Make sure that in the folder you clone, you also clone the
Math and the BG library as this library expects to find them there. If they are not located there, the building will fail. This design choise is so not every GLGE library that depends on this one has
to include it itself, but they can rely on a shared library.
To build the library static, create a build directory, change into it and simply run cmake .. and then cmake --build .. This will build the static library into the build directory.
To integrate the library into your own CMake project, follow the setup steps from the building steps untill the building. Then, simply add the directory you cloned the GLGE Core library to as a submodule to your CMake project:
add_subdirectory("path/to/GLGE_Core") and then link the GLGE_CORE library to your project. This will link the dependencies automatically.
The library itself does not contain any operating system dependend code. But the GLGE BG library contains some OS dependend support. Check this section to find out more.