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_TYPE
enum andSTATE_TRANSITION_TYPE TransitionType
member toStateTransitionDesc
structure
- 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_STATE
enum that defines the resource state - Added
RESOURCE_STATE_TRANSITION_MODE
enum that controls resource state transition mode - Added
DRAW_FLAGS
enum that controls state validation performed by Draw command - Added
Flags
member toDrawAttribs
structure (values fromDRAW_FLAGS
) - Added
IndirectAttribsBufferStateTransitionMode
member toDrawAttribs
andDispatchComputeAttribs
structures (values fromRESOURCE_STATE_TRANSITION_MODE
) - Added
StateTransitionDesc
structure 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
InitStaticResources
parameter 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_FLAGS
enum withRESOURCE_STATE_TRANSITION_MODE
- Added
ITextureD3D12::GetD3D12ResourceState()
,IBufferD3D12::GetD3D12ResourceState()
,
IBufferVk::GetAccessFlags()
, andITextureVk::GetLayout()
methods - Added
CopyTextureAttribs
structure 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
UseCombinedTextureSamplers
andCombinedSamplerSuffix
members toShaderCreationAttribs
structure - 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_BINDINGS
flag, renamedBIND_SHADER_RESOURCES_KEEP_EXISTING
toBIND_SHADER_RESOURCES_KEEP_EXISTING
.
AddedBIND_SHADER_RESOURCES_UPDATE_STATIC
,BIND_SHADER_RESOURCES_UPDATE_MUTABLE
,BIND_SHADER_RESOURCES_UPDATE_DYNAMIC
, and
BIND_SHADER_RESOURCES_UPDATE_ALL
flags
- 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
IFence
interface andIDeviceContext::SignalFence()
method to enable CPU-GPU synchronization - Added
BUFFER_MODE_RAW
mode allowing raw buffer views in D3D11/D3D12. - Moved
Format
member fromBufferDesc
toBufferViewDesc
- Removed
IsIndirect
member fromDrawAttrbis
as settingpIndirectDrawAttribs
to 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