This module implements additional functionality on top of the Diligent Engine's core module and contains the following libraries:
- Texture loader: a texture loading library. The following formats are currently supported: jpg, png, tiff, dds, ktx.
- Asset Loader: an asset loading library. The library currently supports GLTF 2.0.
- To enable Draco compression, download Draco repository and include it into
your project. Make sure that Draco source folder is processed by CMake before DiligentTools folder.
Alternatively, you can specify a path to the Draco installation folder using
DRACO_PATH
CMake variable.
- To enable Draco compression, download Draco repository and include it into
your project. Make sure that Draco source folder is processed by CMake before DiligentTools folder.
Alternatively, you can specify a path to the Draco installation folder using
- Imgui: implementation of dear imgui with Diligent API.
- NativeApp: implementation of native application on supported platforms.
- HLSL2GLSLConverter: HLSL->GLSL off-line converter utility.
- RenderStateNotation: Diligent Render State notation parsing library.
- RenderStatePackager: Render state packaging tool.
To build the module, see build instructions in the master repository.
Platform | Build Status |
---|---|
Windows | |
Universal Windows | |
Linux | |
MacOS | |
iOS | |
tvOS | |
Emscripten |
See Apache 2.0 license.
This project has some third-party dependencies, each of which may have independent licensing:
- args: A simple header-only C++ argument parser library. (MIT License).
- libjpeg: C library for reading and writing JPEG image files (JPEG Group's open source license).
- libtiff: TIFF Library and Utilities (Sam Leffler and Silicon Graphics, Inc. MIT-like license).
- libpng: Official PNG reference library (libpng license).
- zlib: A compression library (Jean-loup Gailly and Mark Adler MIT-like license).
- tinygltf: A header only C++11 glTF 2.0 library (MIT License).
- draco: A library for compressing and decompressing 3D geometric meshes and point clouds. (Apache License 2.0).
- imgui: Immediate Mode Graphical User interface for C++ with minimal dependencies (MIT license).
- imGuIZMO.quat: ImGui GIZMO widget - 3D object manipulator / orientator (BSD 2-Clause License).
- stb: stb single-file public domain libraries for C/C++ (MIT License or Public Domain License).
- json: JSON for Modern C++ (MIT License).
To contribute your code, submit a Pull Request to this repository. Diligent Engine is distributed under the Apache 2.0 license that guarantees that content in the DiligentTools repository is free of Intellectual Property encumbrances. In submitting any content to this repository, you license that content under the same terms, and you agree that the content is free of any Intellectual Property claims and you have the right to license it under those terms.
Diligent Engine uses clang-format to ensure consistent source code style throughout the code base. The format is validated by CI for each commit and pull request, and the build will fail if any code formatting issue is found. Please refer to this page for instructions on how to set up clang-format and automatic code formatting.