A modular cross-platform framework for creating C++ applications, with focus on graphics (3D) application.
MSVC builds would have a slower start time due to my string hash implementation not being constexpr on MSVC
- Windows 11
- Clang 19 or later [recommended]
- MSVC 17 or later
- macOS 15 (Sequoia) or later
Linux build still have some issues with vcpkg
- Linux
- Clang 19 or later
- GCC 15 or later
TODO
TODO
TODO
cmake --preset xcodeThis will generate an Xcode project in the build/xcode directory. You can open the project in Xcode and build it from there.
cmake --preset vs2022This will generate a Visual Studio solution in the build/vs2022 directory.
vs2026 is also supported, but cmake 4.2+ is required
- Portal Core - The core module, provides common functionalities and libraries
- Portal Serialization - Provides serialization (ordered) and archiving (named) for C++ objects to various formats
- Portal Networking - Provides networking capabilities for C++ applications (aimed at game networking, lacks http)
- Portal Application - Provides a base application class for creating C++ applications (non graphical applications)
- Portal GUI - Provides a GUI framework for creating graphical applications (based on ImGui)
- Portal Input - Provides input handling for C++ applications (keyboard, mouse, gamepad)
- audio system
- animations
- physics engine
- scripting capabilities
- networking
- mods (based on web assembly)
This project is licensed under the MIT License - see the LICENSE file for details.