CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::WGSwapchain Class Referencefinal

WebGPU RenderAPI swapchain object. More...

#include <CeresEngine/RenderAPI/WebGPU/WGSwapchain.hpp>

Inheritance diagram for CeresEngine::WGSwapchain:
CeresEngine::GPUSwapchain CeresEngine::WGDeviceObject< WGSwapchain, GPUSwapchain > CeresEngine::TDeviceObject< GPUSwapchainDescriptor > CeresEngine::WGObject< ChildTypeName, ParentType > CeresEngine::GPUDeviceObject CeresEngine::GPUObject

Public Types

using CAWebGPUDrawableType = CE_WG_HANDLE(CAWebGPUDrawable)
 
- Public Types inherited from CeresEngine::TDeviceObject< GPUSwapchainDescriptor >
using Descriptor = GPUSwapchainDescriptor
 An type-alias to the descriptor struct type.
 

Public Member Functions

 WGSwapchain (WGDevicePtr device, const GPUSwapchainDescriptor &descriptor)
 Creates a new WGSwapchain object.
 
 ~WGSwapchain () final
 Destroys the WGSwapchain object.
 
 operator CAWebGPUDrawableType () const noexcept
 The WebGPU API swapchain object.
 
GPUImagePtr nextRenderImage () override
 
void present () override
 Presents a image from the getSwapchain. The command buffer that signals.
 
- Public Member Functions inherited from CeresEngine::GPUSwapchain
 GPUSwapchain (const GPUSwapchain &)=delete
 Deleted copy constructor.
 
GPUSwapchainoperator= (const GPUSwapchain &)=delete
 
 GPUSwapchain (GPUSwapchain &&)=delete
 Deleted move constructor.
 
GPUSwapchainoperator= (GPUSwapchain &&)=delete
 
 TDeviceObject (GPUDevice &device, const Descriptor &descriptor)
 Inherited constructors.
 
 TDeviceObject (const TDeviceObject &)=delete
 Inherited constructors.
 
 TDeviceObject (TDeviceObject &&)=delete
 Inherited constructors.
 
- Public Member Functions inherited from CeresEngine::TDeviceObject< GPUSwapchainDescriptor >
 TDeviceObject (GPUDevice &device, const Descriptor &descriptor)
 Initializes a new RenderAPI device object instance.
 
 TDeviceObject (const TDeviceObject &)=delete
 
 TDeviceObject (TDeviceObject &&)=delete
 
 ~TDeviceObject () override=default
 
TDeviceObjectoperator= (const TDeviceObject &)=delete
 
TDeviceObjectoperator= (TDeviceObject &&)=delete
 
- Public Member Functions inherited from CeresEngine::GPUDeviceObject
 GPUDeviceObject (GPUDevice &device)
 
 ~GPUDeviceObject () override
 
- Public Member Functions inherited from CeresEngine::GPUObject
 GPUObject ()=default
 
virtual ~GPUObject ()=default
 
 GPUObject (const GPUObject &)=delete
 
GPUObjectoperator= (const GPUObject &)=delete
 
 GPUObject (GPUObject &&)=delete
 
GPUObjectoperator= (GPUObject &&)=delete
 
void retain () noexcept
 Retains the object by increment it's reference count by one.
 
bool release () noexcept
 Releases the object by decrementing it's reference count by one.
 

Private Attributes

const GPUSwapchainDescriptor mDescriptor
 A structure that describes the swapchain and it's properties.
 
CAWebGPUDrawableType mDrawable
 The WebGPU API swapchain object.
 

Additional Inherited Members

- Static Public Member Functions inherited from CeresEngine::WGObject< ChildTypeName, ParentType >
static RC< ChildTypeNamecast (const RC< ParentType > &ptr)
 Casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName.
 
static RC< ChildTypeNamesafeCast (const RC< ParentType > &ptr)
 Safely casts a RC containing a ParentType pointer to a pointer to a pointer to a ChildTypeName.
 
static ChildTypeNamecast (ParentType &object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static const ChildTypeNamecast (const ParentType &object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static ChildTypeNamecast (ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static const ChildTypeNamecast (const ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static ChildTypeNamesafeCast (ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
static const ChildTypeNamesafeCast (const ParentType *object)
 Casts a object of type ParentType to a object of type ChildTypeName.
 
- Public Attributes inherited from CeresEngine::TDeviceObject< GPUSwapchainDescriptor >
const Descriptordescriptor
 A structure that describes the object and it's properties.
 
- Public Attributes inherited from CeresEngine::GPUDeviceObject
GPUDevicedevice
 The owning device this object was created from.
 
- Protected Member Functions inherited from CeresEngine::GPUObject
virtual void destroy () noexcept
 A internal method called by the system when the object reference count reaches zero.
 
- Protected Member Functions inherited from CeresEngine::WGDeviceObject< WGSwapchain, GPUSwapchain >
 WGDeviceObject (WGDevicePtr device)
 Creates a new WGDeviceObject from the given device.
 
- Protected Attributes inherited from CeresEngine::WGDeviceObject< WGSwapchain, GPUSwapchain >
WGDevicedeviceWG
 The owning WGDevice instance.
 

Detailed Description

WebGPU RenderAPI swapchain object.

Member Typedef Documentation

◆ CAWebGPUDrawableType

Constructor & Destructor Documentation

◆ WGSwapchain()

CeresEngine::WGSwapchain::WGSwapchain ( WGDevicePtr  device,
const GPUSwapchainDescriptor descriptor 
)

Creates a new WGSwapchain object.

Parameters
deviceThe owning device
descriptorThe descriptor object that describes the object

◆ ~WGSwapchain()

CeresEngine::WGSwapchain::~WGSwapchain ( )
final

Destroys the WGSwapchain object.

Member Function Documentation

◆ nextRenderImage()

GPUImagePtr CeresEngine::WGSwapchain::nextRenderImage ( )
overridevirtual

Returns
The next render image in the getSwapchain

Implements CeresEngine::GPUSwapchain.

◆ operator CAWebGPUDrawableType()

CeresEngine::WGSwapchain::operator CAWebGPUDrawableType ( ) const
inlinenoexcept

The WebGPU API swapchain object.

◆ present()

void CeresEngine::WGSwapchain::present ( )
overridevirtual

Presents a image from the getSwapchain. The command buffer that signals.

Implements CeresEngine::GPUSwapchain.

Member Data Documentation

◆ mDescriptor

const GPUSwapchainDescriptor CeresEngine::WGSwapchain::mDescriptor
private

A structure that describes the swapchain and it's properties.

◆ mDrawable

CAWebGPUDrawableType CeresEngine::WGSwapchain::mDrawable
private

The WebGPU API swapchain object.


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