template<class BaseInterface>
Diligent::SwapChainBase class

Base implementation of the swap chain.

Template parameters
BaseInterface - Base interface that this class will inheret (Diligent::ISwapChainGL, Diligent::ISwapChainD3D11, Diligent::ISwapChainD3D12 or Diligent::ISwapChainVk).

Base classes

template<typename BaseInterface>
class ObjectBase<BaseInterface>
Template class implementing base functionality for an object.

Derived classes

template<class BaseInterface, typename DXGISwapChainType>
class SwapChainD3DBase
Base implementation of a D3D swap chain.
template<class BaseInterface>
class SwapChainGLBase
Base implementation of a swap chain for OpenGL.

Constructors, destructors, conversion operators

SwapChainBase(IReferenceCounters* pRefCounters, IRenderDevice* pDevice, IDeviceContext* pDeviceContext, const SwapChainDesc& SCDesc)

Public functions

auto GetDesc() const -> const SwapChainDesc& final
Implementation of ISwapChain::GetDesc()

Protected variables

RefCntAutoPtr<IRenderDevice> m_pRenderDevice
Strong reference to the render device.
RefCntWeakPtr<IDeviceContext> m_wpDeviceContext
Weak references to the immediate device context. The context holds the strong reference to the swap chain.
SwapChainDesc m_SwapChainDesc
Swap chain description.
SURFACE_TRANSFORM m_DesiredPreTransform
Desired surface pre-transformation.

Function documentation

template<class BaseInterface>
Diligent::SwapChainBase<BaseInterface>::SwapChainBase(IReferenceCounters* pRefCounters, IRenderDevice* pDevice, IDeviceContext* pDeviceContext, const SwapChainDesc& SCDesc)

Parameters
pRefCounters - Reference counters object that controls the lifetime of this swap chain.
pDevice - Pointer to the device.
pDeviceContext - Pointer to the device context.
SCDesc - Swap chain description