Releases: DiligentGraphics/DiligentEngine
Releases · DiligentGraphics/DiligentEngine
Diligent Engine - v2.4.d
- Enabled automated unit testing, format validation and static code analysis
- Enabled bindless resources
- Enabled MSAA
- Implemented queries
- Various API improvements
- Added Tutorial16 - Bindless Resources
- Added Tutorial17 - MSAA
- Added Tutorial18 - Queries
- Removed RenderScript and Lua
Full release notes
Diligent Engine - v2.4.c
- Enabled Vulkan on iOS
- Major improvements to OpenGL backend
- Replaced AntTweakBar UI library with dear imgui
- Added GLTF2.0 loader and PBR renderer
- Added GLTF Viewer
- Added Shadowing Component and Shadows Sample
- Added Dear Imgui demo
- Added Tutorial13 - Shadow Map
- Added Tutorial14 - Compute Shader
- Added Tutorial15 - Multiple Windows
- A lot of API updates
Full release notes
Diligent Engine - v2.4.b
- Added cmake options to disable specific back-ends and glslang
- Improved engine support of GLES3.0 devices
- Added new module - DiligentFX, a high-level rendering framework
- Added Tutorial12 - Render Targets (credits to @dolphineye for contribution)
- Lots of API improvements, see full release notes
Diligent Engine - v2.4.a
- Enabled MinGW build
- Enabled Vulkan on MacOS via MoltenVK
- Implemented split barriers (https://github.com/DiligentGraphics/DiligentCore/issues/43)
- Added
STATE_TRANSITION_TYPEenum andSTATE_TRANSITION_TYPE TransitionTypemember toStateTransitionDescstructure
- Added
- Added Metal backend stub
- Samples:
- Added rendering backend selection dialog on Win32 and Mac
Diligent Engine - v2.4
- Added explicit resource state transitions
- API Changes
- Added
RESOURCE_STATEenum that defines the resource state - Added
RESOURCE_STATE_TRANSITION_MODEenum that controls resource state transition mode - Added
DRAW_FLAGSenum that controls state validation performed by Draw command - Added
Flagsmember toDrawAttribsstructure (values fromDRAW_FLAGS) - Added
IndirectAttribsBufferStateTransitionModemember toDrawAttribsandDispatchComputeAttribsstructures (values fromRESOURCE_STATE_TRANSITION_MODE) - Added
StateTransitionDescstructure that describes resource state transition barrier - Added
IDeviceContext::TransitionResourceStates(Uint32 BarrierCount, StateTransitionDesc* pResourceBarriers)method - Added
IBuffer::SetState(),IBuffer::GetState(),ITexture::SetState(),ITexture::GetState()methods - Added
IShaderResourceBinding::InitializeStaticResources()to explicitly initialize static resources and
avoid problems in multi-threaded environments - Added
InitStaticResourcesparameter toIPipelineState::CreateShaderResourceBinding()method to allow immediate initialization of static resources in a SRB - Removed default SRB object
- Renamed/moved
IBuffer::UpdateData()toIDeviceContext::UpdateBuffer() - Renamed/moved
IBuffer::CopyData()toIDeviceContext::CopyBuffer() - Renamed/moved
IBuffer::Map()toIDeviceContext::MapBuffer() - Renamed/moved
IBuffer::Unmap()toIDeviceContext::UnmapBuffer()- Removed MapFlags parameter
- Renamed/moved
ITexture::UpdateData()toIDeviceContext::UpdateTexture() - Renamed/moved
ITexture::CopyData()toIDeviceContext::CopyTexture() - Renamed/moved
ITexture::Map()toIDeviceContext::MapTextureSubresource() - Renamed/moved
ITexture::Unmap()toIDeviceContext::UnmapTextureSubresource() - Moved
ITextureView::GenerateMips()toIDeviceContext::GenerateMips() - Added state transition mode parameters to
IDeviceContext::UpdateBuffer(),IDeviceContext::UpdateTexture(),IDeviceContext::CopyBuffer(),IDeviceContext::CopyTexture(),IDeviceContext::SetVertexBuffers(),IDeviceContext::SetIndexBuffers(),IDeviceContext::ClearRenderTargets(), andIDeviceContext::ClearDepthStencil()methods - Replaced
COMMIT_SHADER_RESOURCES_FLAGSenum withRESOURCE_STATE_TRANSITION_MODE - Added
ITextureD3D12::GetD3D12ResourceState(),IBufferD3D12::GetD3D12ResourceState(),
IBufferVk::GetAccessFlags(), andITextureVk::GetLayout()methods - Added
CopyTextureAttribsstructure that combines all paramters ofIDeviceContext::CopyTexture()method
- Added
Diligent Engine - v2.3.b
- Enabled Vulkan backend on Linux
- API Changes
- Implemented separate texture samplers:
- Added
UseCombinedTextureSamplersandCombinedSamplerSuffixmembers toShaderCreationAttribsstructure - When separate samplers are used (
UseCombinedTextureSamplers == false), samplers are set in the same way as other shader variables via shader or SRB objects
- Added
- Removed
BIND_SHADER_RESOURCES_RESET_BINDINGSflag, renamedBIND_SHADER_RESOURCES_KEEP_EXISTINGtoBIND_SHADER_RESOURCES_KEEP_EXISTING.
AddedBIND_SHADER_RESOURCES_UPDATE_STATIC,BIND_SHADER_RESOURCES_UPDATE_MUTABLE,BIND_SHADER_RESOURCES_UPDATE_DYNAMIC, and
BIND_SHADER_RESOURCES_UPDATE_ALLflags
- Implemented separate texture samplers:
- Using glslang to compile HLSL to SPIRV in Vulkan backend instead of relying on HLSL->GLSL converter
Diligent Engine - v2.3.a
-
Core
- Added
IFenceinterface andIDeviceContext::SignalFence()method to enable CPU-GPU synchronization - Added
BUFFER_MODE_RAWmode allowing raw buffer views in D3D11/D3D12. - Moved
Formatmember fromBufferDesctoBufferViewDesc - Removed
IsIndirectmember fromDrawAttrbisas settingpIndirectDrawAttribsto a non-null buffer already indicates indirect rendering
- Added
-
Samples:
- Added Tutorial 10 - Data Streaming
Diligent Engine - v2.3
Implemented Vulkan backend plus multiple other updates/improvements.
Diligent Engine - v2.2.a
- Enabled Win32 build targeting Windows 8.1 SDK
- Enabled build customization through custom build config file
- Implemented PSO compatibility: if two pipeline states share the same shader resource layout, they can use SRB
- Added Tutorial09 - Quads
objects interchangeably - Fixed the following issues:
Diligent Engine - v2.2
- Enabled MacOS and iOS
- Fixed multiple issue on Android