Previously we looked at OpenGL alternatives shortly after OpenGL on Apple products was deprecated. One of the technologies we mentioned was The Forge, a cross platform rendering solution. It is an open source cross platform rendering framework with several game development building blocks created by Confetti.
In addition to taking are of the low level details of working with Direct3D and Vulkan, the Forge provides the following features:
- Asynchronous Resource loading with a resource loader task system as shown in 10_PixelProjectedReflections
- Lua Scripting System – currently used in 06_Playground to load models and textures and animate the camera
- Animation System based on Ozz Animation System
- Consistent Math Library based on an extended version of Vectormath with NEON intrinsics for mobile platforms
- Extended version of EASTL
- For loading art assets we have a modified and integrated version of Assimp
- Consistent Memory Managament:
- on GPU following Vulkan Memory Allocator
- on CPU Fluid Studios Memory Manager
- Input system with Gestures for Touch devices based on an extended version of gainput
- Fast Entity Component System based on our internally developed ECS
- Cross-platform FileSystem C API, supporting disk-based files, memory streams, and files in zip archives
- UI system based on imGui with a dedicated unit test extended for touch input devices
- Audio based on integrating SoLoud
- Shader Translator using a superset of HLSL as the shader language. There is a Wiki page on how to use the Shader Translator
- Various implementations of high-end Graphics Effects as shown in the unit tests below
The Forge is open source under the Apache 2.0 license and is hosted on GitHub. You can learn more about The Forge in the video below.