This release enables Vulkan on iOS, implements many API improvements and introduces a number of higher-level features.
General
- 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
- Removed AntTweakBar sample
API Changes
- Moved
NumDeferredContexts
parameter from factory functionsIEngineFactoryD3D11::CreateDeviceAndContextsD3D11
,IEngineFactoryD3D12::CreateDeviceAndContextsD3D12
andIEngineFactoryVk::CreateDeviceAndContextsVk
toEngineCreateInfo
struct. - Renamed
USAGE_CPU_ACCESSIBLE
->USAGE_STAGING
- Added
SWAP_CHAIN_USAGE_FLAGS
enum - Replaced overloaded
IPipelineState::GetStaticShaderVariable()
withIPipelineState::GetStaticVariableByName()
andIPipelineState::GetStaticVariableByIndex()
- Replaced overloaded
IShaderResourceBinding::GetVariable()
withIShaderResourceBinding::GetVariableByName()
andIShaderResourceBinding::GetVariableByIndex()
- Made
IShaderSourceInputStreamFactory
derived fromIObject
; addedIEngineFactory::CreateDefaultShaderSourceStreamFactory()
method; addedIRenderDevice::GetEngineFactory()
method - Added
DRAW_FLAG_VERIFY_DRAW_ATTRIBS
,DRAW_FLAG_VERIFY_RENDER_TARGETS
, andDRAW_FLAG_VERIFY_ALL
flags
AddedTEXTURE_VIEW_FLAGS
enum andFlags
member toTextureViewDesc
structure - Added
IShaderResourceVariable::IsBound()
method - Added
Diligent-
prefix to project names to avoid name conflicts. - Added
IDeviceContextD3D12::GetD3D12CommandList
method - Added
IDeviceContext::WaitForFence()
method - Added
IDeviceContext::WaitForIdle()
method - Added
IRenderDevice::IdleGPU()
method - Added
EngineD3D12CreateInfo::EnableDebugLayer
member - Added
EngineD3D12CreateInfo::BreakOnError
andEngineD3D12CreateInfo::BreakOnCorruption
members