DiligentEngine
A modern cross-platform low-level graphics library and rendering framework
Install / Use
npx skills add DiligentGraphics/DiligentEngineInstalls into whichever agent you are using.
README
Diligent Engine <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/diligentgraphics-logo.png" height=64 align="right" valign="middle">
A Modern Cross-Platform Low-Level 3D Graphics Library and Rendering Framework
Diligent Engine is a lightweight, high-performance graphics API abstraction layer and rendering framework for cross-platform development. It leverages the power of modern graphics APIs such as Direct3D12, Vulkan, Metal, and WebGPU, while also maintaining robust support for legacy platforms through Direct3D11, OpenGL, OpenGLES, and WebGL. Providing a consistent front-end API, Diligent Engine uses HLSL as its universal shading language and also supports platform-specific shader formats (GLSL, MSL, DirectX bytecode, SPIR-V) for optimized performance. Ideal for game engines, interactive simulations, and 3D visualization applications, Diligent Engine is open-source and distributed under the permissive Apache 2.0 license.
Supported Platforms and Low-Level Graphics APIs
| Platform | D3D11 | D3D12 | OpenGL/GLES | Vulkan | Metal | WebGPU | Build Status |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |------------------- | ------------------ | ------------------------------- | ------------------------------- | ------------------------------- | -------------------------------- |
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/windows-logo.png" width=24 valign="middle"> Windows | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | - | :heavy_check_mark: <sup>3</sup> | |
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/uwindows-logo.png" width=24 valign="middle"> Universal Windows | :heavy_check_mark: | :heavy_check_mark: | - | - | - | - |
|
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/linux-logo.png" width=24 valign="middle"> Linux | - | - | :heavy_check_mark: | :heavy_check_mark: | - | :heavy_check_mark: <sup>3</sup> |
|
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/android-logo.png" width=24 valign="middle"> Android | - | - | :heavy_check_mark: | :heavy_check_mark: | - | - |
|
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/macos-logo.png" width=24 valign="middle"> macOS | - | - | :heavy_check_mark: | :heavy_check_mark: <sup>1</sup> | :heavy_check_mark: <sup>2</sup> | :heavy_check_mark: <sup>3</sup> |
|
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/apple-logo.png" width=24 valign="middle"> iOS | - | - | :heavy_check_mark: | :heavy_check_mark: <sup>1</sup> | :heavy_check_mark: <sup>2</sup> | - |
|
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/tvos-logo.png" width=24 valign="middle"> tvOS | - | - | - | :heavy_check_mark: <sup>1</sup> | :heavy_check_mark: <sup>2</sup> | - |
|
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/visionos-logo.png" width=24 valign="middle"> visionOS | - | - | - | - | :heavy_check_mark: <sup>2</sup> | - | |
| <img src="https://github.com/DiligentGraphics/DiligentCore/blob/master/media/emscripten-logo.png" width=24 valign="middle"> Web | - | - | :heavy_check_mark: | - | - | :heavy_check_mark: |
|
<sup>1</sup> Vulkan API is not natively supported on macOS, iOS and tvOS platforms and requires a Vulkan portability implementation such as MoltenVK or gfx-portability.
<sup>2</sup> Available under commercial license - please contact us for details.
<sup>3</sup> Requires a native implementation of WebGPU, Dawn is recommended.
Features
- Cross-platform
- Exact same client code for all supported platforms and rendering backends
- No
#if defined(_WIN32)...#elif defined(LINUX)...#elif defined(ANDROID)... - No
#if defined(D3D11)...#elif defined(D3D12)...#elif defined(OPENGL)...
- No
- Exact same HLSL shaders (VS, PS, GS, HS, DS, CS) run on all platforms and all back-ends
- Exact same client code for all supported platforms and rendering backends
- High performance
- Modular design
- Components are clearly separated logically and physically and can be used as needed
- Only take what you need for your project
- Clear and concise API
- C/C++/C#
- Object-based
- Stateless
- Key graphics features:
- Automatic shader resource binding designed to leverage next-generation graphics APIs
- Multithreaded command buffer generation
- Multithreaded resource creation
- Automatic or explicit control over resource state transitions
- Descriptor and memory management
- Shader resource reflection
- Async compute and multiple command queues
- Ray-tracing, mesh shaders, tile shaders, bindless resources, variable rate shading, sparse resources, wave operations, and other state-of-the-art capabilities
- JSON-based render state description language and state packaging tool
- Extensive validation and error reporting
- Modern c++ features to make the code fast and reliable
- Consistent high quality is ensured by continuous integration
- Automated builds and unit testing
- Source code formatting validation
- Static analysis
Minimum supported low-level API versions:
- OpenGL 4.1
- OpenGLES 3.0
- WebGL 2.0
- Direct3D11.1
- Direct3D12 with SDK version 10.0.19041.0
- Vulkan 1.0
- Metal 1.0
High-level Rendering components
- [Screen-Space Reflections](https://github.com/DiligentGraphics/DiligentFX/tree/master/PostProce
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
