| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| DiligentEngine_v2.5.6.zip | 2024-09-02 | 269.8 MB | |
| Diligent Engine - v2.5.6 source code.tar.gz | 2024-09-01 | 146.0 kB | |
| Diligent Engine - v2.5.6 source code.zip | 2024-09-01 | 154.0 kB | |
| README.md | 2024-09-01 | 2.9 kB | |
| Totals: 4 Items | 270.1 MB | 0 | |
This release significantly enhances Diligent Engine by introducing the WebGPU backend, making the web a first-class citizen in the Diligent Engine ecosystem. WebGPU is a modern graphics API specifically designed for the web, offering several key advantages over WebGL. These enhancements are now fully leveraged by Diligent Engine, providing:
- Lower Overhead and Higher Rendering Performance: WebGPU reduces CPU overhead, allowing more efficient use of hardware resources, leading to smoother and faster rendering.
- Support for Compute Shaders: Unlike WebGL, WebGPU natively supports compute shaders, enabling more complex and parallel computations directly on the GPU.
- Improved API Design: WebGPU offers a more streamlined and explicit API, reducing ambiguity and making it easier for developers to harness the full power of modern GPUs.
- Enhanced Resource Management: WebGPU provides better control over memory and resource management, leading to more predictable performance and reduced latency.
In addition to the WebGPU backend, this release also introduces asynchronous shader compilation. This feature allows shaders to be compiled in parallel, preventing the rendering thread from being blocked during compilation. Asynchronous shader compilation is fully supported in the WebGPU backend, ensuring a smooth and responsive experience even during complex rendering tasks.
We are also excited to announce that samples are now available to run directly on the web. You can explore these samples at the Diligent Engine Samples Website (https://diligentgraphics.github.io/). This makes it easier than ever to see the power of Diligent Engine in action, directly in your browser.
API Changes
- Implemented WebGPU backend
- Added
EngineWebGPUCreateInfo - Added
IEngineFactoryWebGPUinterface - Added
RENDER_DEVICE_TYPE_WEBGPU,SHADER_SOURCE_LANGUAGE_WGSL,SHADER_VARIABLE_FLAG_UNFILTERABLE_FLOAT_TEXTURE_WEBGPU,SHADER_VARIABLE_FLAG_NON_FILTERING_SAMPLER_WEBGPUenum values - Added
WEB_GPU_BINDING_TYPEenum,WebGPUResourceAttribsstruct, andWebGPUResourceAttribs WebGPUAttribsmember toPipelineResourceDescstruct - Added WebGPU-specific interfaces (
IRenderDeviceWebGPU,IDeviceContextWebGPU, etc.) - Enabled asynchronous shdare and pipeline state compilation (API255001)
- Added
AsyncShaderCompilationrender device feature - Added
pAsyncShaderCompilationThreadPoolandNumAsyncShaderCompilerThreadsmembers toEngineCreateInfostruct - Added
SHADER_COMPILE_FLAG_ASYNCHRONOUSandPSO_CREATE_FLAG_ASYNCHRONOUSflags - Added
SHADER_STATUSandPIPELINE_STATE_STATUSenums - Added
IShader::GetStatusandIPipelineState::GetStatusmethods