Plasma Engine  2.0
Loading...
Searching...
No Matches
plGALSwapChainDX11 Class Reference
Inheritance diagram for plGALSwapChainDX11:

Public Member Functions

virtual void AcquireNextRenderTarget (plGALDevice *pDevice) override
 
virtual void PresentRenderTarget (plGALDevice *pDevice) override
 
virtual plResult UpdateSwapChain (plGALDevice *pDevice, plEnum< plGALPresentMode > newPresentMode) override
 
- Public Member Functions inherited from plGALWindowSwapChain
const plGALWindowSwapChainCreationDescriptionGetWindowDescription () const
 
- Public Member Functions inherited from plGALSwapChain
const plGALRenderTargetsGetRenderTargets () const
 
plGALTextureHandle GetBackBufferTexture () const
 
plSizeU32 GetCurrentSize () const
 
- Public Member Functions inherited from plGALObject< plGALSwapChainCreationDescription >
 plGALObject (const plGALSwapChainCreationDescription &description)
 
PL_ALWAYS_INLINE const plGALSwapChainCreationDescriptionGetDescription () const
 
- Public Member Functions inherited from plRefCounted
virtual ~plRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from plRefCountingImpl
 plRefCountingImpl ()=default
 Constructor.
 
 plRefCountingImpl (const plRefCountingImpl &rhs)
 
void operator= (const plRefCountingImpl &rhs)
 
plInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
plInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
plInt32 GetRefCount () const
 Returns the current reference count.
 

Protected Member Functions

 plGALSwapChainDX11 (const plGALWindowSwapChainCreationDescription &Description)
 
virtual plResult InitPlatform (plGALDevice *pDevice) override
 
plResult CreateBackBufferInternal (plGALDeviceDX11 *pDXDevice)
 
void DestroyBackBufferInternal (plGALDeviceDX11 *pDXDevice)
 
virtual plResult DeInitPlatform (plGALDevice *pDevice) override
 
- Protected Member Functions inherited from plGALWindowSwapChain
 plGALWindowSwapChain (const plGALWindowSwapChainCreationDescription &Description)
 
- Protected Member Functions inherited from plGALSwapChain
 plGALSwapChain (const plRTTI *pSwapChainType)
 

Protected Attributes

IDXGISwapChain * m_pDXSwapChain = nullptr
 
plGALTextureHandle m_hBackBufferTexture
 
plEnum< plGALPresentModem_CurrentPresentMode
 
bool m_bCanMakeDirectScreenshots = true
 
plGALTextureHandle m_hActualBackBufferTexture
 
- Protected Attributes inherited from plGALWindowSwapChain
plGALWindowSwapChainCreationDescription m_WindowDesc
 
- Protected Attributes inherited from plGALSwapChain
plGALRenderTargets m_RenderTargets
 
plSizeU32 m_CurrentSize = {}
 
- Protected Attributes inherited from plGALObject< plGALSwapChainCreationDescription >
const plGALSwapChainCreationDescription m_Description
 

Friends

class plGALDeviceDX11
 
class plMemoryUtils
 

Additional Inherited Members

- Public Types inherited from plGALWindowSwapChain
using Functor = plDelegate<plGALSwapChainHandle(const plGALWindowSwapChainCreationDescription&)>
 
- Static Public Member Functions inherited from plGALWindowSwapChain
static void SetFactoryMethod (Functor factory)
 
static plGALSwapChainHandle Create (const plGALWindowSwapChainCreationDescription &desc)
 
- Static Protected Attributes inherited from plGALWindowSwapChain
static Functor s_Factory
 

Member Function Documentation

◆ AcquireNextRenderTarget()

void plGALSwapChainDX11::AcquireNextRenderTarget ( plGALDevice * pDevice)
overridevirtual

Implements plGALSwapChain.

◆ DeInitPlatform()

plResult plGALSwapChainDX11::DeInitPlatform ( plGALDevice * pDevice)
overrideprotectedvirtual

Implements plGALSwapChain.

◆ InitPlatform()

plResult plGALSwapChainDX11::InitPlatform ( plGALDevice * pDevice)
overrideprotectedvirtual
Todo
The mode switch needs to be handled (ResizeBuffers + communication with engine)
Todo
Get from MSAA value of the m_WindowDesc
Todo
Get from enumeration of available modes

Implements plGALSwapChain.

◆ PresentRenderTarget()

void plGALSwapChainDX11::PresentRenderTarget ( plGALDevice * pDevice)
overridevirtual

Implements plGALSwapChain.

◆ UpdateSwapChain()

plResult plGALSwapChainDX11::UpdateSwapChain ( plGALDevice * pDevice,
plEnum< plGALPresentMode > newPresentMode )
overridevirtual

Implements plGALSwapChain.


The documentation for this class was generated from the following files: