About this project

Diligent Engine is a lightweight, high-performance graphics API abstraction layer and rendering framework for cross-platform development. It leverages modern graphics APIs such as Direct3D12, Vulkan, Metal, and WebGPU, while also supporting legacy platforms through Direct3D11, OpenGL, OpenGLES, and WebGL. The engine provides a consistent front-end API and uses HLSL as its universal shading language, with support for platform-specific shader formats (GLSL, MSL, DirectX bytecode, SPIR-V) for optimized performance. Key features include: - Cross-platform support with identical client code across all platforms and backends - High performance with multithreaded command buffer generation and resource creation - Modular design with clearly separated components - Automatic shader resource binding and resource state management - Support for advanced capabilities: ray tracing, mesh shaders, bindless resources, variable rate shading, sparse resources, wave operations - JSON-based render state description language - Extensive validation and error reporting - C/C++/C# APIs Supported platforms include Windows, Universal Windows, Linux, Android, macOS, iOS, tvOS, visionOS, and Web. The repository includes submodules for core graphics backends, tools (texture/asset loading, Dear ImGui integration), high-level rendering components (screen-space reflections, ambient occlusion, depth of field, bloom, temporal anti-aliasing, PBR renderer), and sample applications. Diligent Engine is open-source under the Apache 2.0 license and is suitable for game engines, interactive simulations, and 3D visualization applications.