Diligent Engine

Diligent Engine is a light-weight cross-platform abstraction layer between the application and the platform-specific graphics API. Its main goal is to take advantages of the next-generation APIs such as Direct3D12 and Vulkan, but at the same time provide support for older platforms via Direct3D11, OpenGL and OpenGLES. Diligent Engine exposes common front-end for all supported platforms and provides interoperability with underlying native API. It also supports integration with Unity and is designed to be used as a graphics subsystem in a standalone game engine, Unity native plugin or any other 3D application. It is distributed under Apache 2.0 license and is free to use. Full source code is available for download at GitHub. The engine contains shader source code converter that allows shaders authored in HLSL to be translated to GLSL.


The engine consists of the following components:

  • Engine Core provides basic engine functionality. It implements engine interface on the platform-specific graphics API.
  • Shader Converter is designed to convert HLSL source code into GLSL. It allows shaders to be developed in HLSL, yet enables the exact same shaders to be compiled on other platforms.
  • Render Script is an efficient tool that facilitates graphics resource description and management

The engine contains several sample applications that demonstrate the usage of the engine. You can find the API reference here.

The following platforms and graphics APIs are currently supported

Platform Supported APIs
Windows Desktop Direct3D11, Direct3D12, OpenGL4.2+
Universal Windows Platform Direct3D11, Direct3D12
Linux OpenGL4.2+
Android OpenGLES3.0+
MacOS OpenGL4.1 (no compute shaders)