Diligent Graphics >Diligent Engine
Diligent Engine is a lightweight cross-platform graphics API abstraction library. It is designed to take full advantage of Direct3D12, Vulkan and Metal, while supporting older platforms via Direct3D11, OpenGL and OpenGLES. Diligent Engine exposes common front-end API and uses HLSL as universal shading language on all platforms and rendering back-ends. Platform-specific shader representations (GLSL, DX bytecode or SPIRV) can be used with corresponding back-ends. The engine is intended to be used as graphics subsystem in a game engine or any other 3D application. Full source code is available on GitHub. It is distributed under Apache 2.0 license and is free to use.


BGFX is one of the most successful open-source graphics API abstraction libraries that has been around for years, so why Diligent? The answer is that Diligent was designed from scratch to take advantages of the next-generation APIs. Diligent Engine relates to BGFX as Direct3D12 relates to Direct3D11 and Vulkan relates to OpenGL. Some of the advantages that Diligent Engine offers:
The following platforms and graphics APIs are currently supported
| Platform | Supported APIs |
|---|---|
| Windows Desktop | Direct3D11, Direct3D12, OpenGL4.2+, Vulkan |
| Universal Windows Platform | Direct3D11, Direct3D12 |
| Linux | OpenGL4.2+, Vulkan |
| Android | OpenGLES3.0+ |
| MacOS | OpenGL4.1 (no compute shaders), Vulkan (via MoltenVK), Metal |
| iOS | OpenGLES3.0 (vertex and fragment shaders only), Vulkan (via MoltenVK), Metal |