Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::SwapChainD3D12Impl Class Reference

Implementation of the Diligent::ISwapChainD3D12 interface. More...

Inheritance diagram for Diligent::SwapChainD3D12Impl:
Diligent::SwapChainBase< ISwapChainD3D12, IMemoryAllocator > Diligent::ObjectBase< ISwapChainD3D12, IMemoryAllocator > Diligent::RefCountedObject< ISwapChainD3D12, IMemoryAllocator > Diligent::ISwapChainD3D12 Diligent::ISwapChain Diligent::IObject

Public Member Functions

virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)
 Queries the specific interface. More...
 
virtual void Present ()
 Presents a rendered image to the user.
 
virtual void Resize (Uint32 NewWidth, Uint32 NewHeight)
 Changes the swap chain's back buffer size. More...
 
virtual IDXGISwapChain * GetDXGISwapChain ()
 Returns a pointer to the IDXGISwapChain interface of the internal DXGI object. More...
 
- Public Member Functions inherited from Diligent::SwapChainBase< ISwapChainD3D12, IMemoryAllocator >
 SwapChainBase (IMemoryAllocator &Allocator, IRenderDevice *pDevice, IDeviceContext *pDeviceContext, const SwapChainDesc &SCDesc)
 
virtual const SwapChainDescGetDesc () const override final
 Implementation of ISwapChain::GetDesc()
 
- Public Member Functions inherited from Diligent::RefCountedObject< ISwapChainD3D12, IMemoryAllocator >
virtual IReferenceCountersGetReferenceCounters () const override final
 
virtual Atomics::Long AddRef () override
 
virtual Atomics::Long Release () override
 

Additional Inherited Members

- Protected Attributes inherited from Diligent::SwapChainBase< ISwapChainD3D12, IMemoryAllocator >
Diligent::RefCntAutoPtr< IRenderDevicem_pRenderDevice
 Strong reference to the render device.
 
Diligent::RefCntWeakPtr< IDeviceContextm_wpDeviceContext
 Weak references to the immediate device context. The context holds the strong reference to the swap chain.
 
SwapChainDesc m_SwapChainDesc
 Swap chain description.
 

Detailed Description

Implementation of the Diligent::ISwapChainD3D12 interface.

Member Function Documentation

virtual IDXGISwapChain* Diligent::SwapChainD3D12Impl::GetDXGISwapChain ( )
inlinevirtual

Returns a pointer to the IDXGISwapChain interface of the internal DXGI object.

The method does NOT call AddRef() on the returned interface, so Release() must not be called.

Implements Diligent::ISwapChainD3D12.

virtual void Diligent::SwapChainD3D12Impl::QueryInterface ( const Diligent::INTERFACE_ID IID,
IObject **  ppInterface 
)
virtual

Queries the specific interface.

Parameters
[in]IID- Unique identifier of the requested interface.
[out]ppInterface- Memory address where the pointer to the requested interface will be written. If the interface is not supported, null pointer will be returned.
Remarks
The method increments the number of strong references by 1. The interface must be released by a call to Release() method when it is no longer needed.

Reimplemented from Diligent::ObjectBase< ISwapChainD3D12, IMemoryAllocator >.

void Diligent::SwapChainD3D12Impl::Resize ( Uint32  NewWidth,
Uint32  NewHeight 
)
virtual

Changes the swap chain's back buffer size.

Parameters
[in]NewWidth- New swap chain width, in pixels
[in]NewHeight- New swap chain height, in pixels

Implements Diligent::ISwapChain.