CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GPUResourceSet Class Reference

A RenderAPI object that holds a set of resources that can be bound into shader. More...

#include <CeresEngine/RenderAPI/GPUResourceSet.hpp>

Inheritance diagram for CeresEngine::GPUResourceSet:
CeresEngine::TDeviceObject< GPUResourceSetDescriptor > CeresEngine::GPUDeviceObject CeresEngine::GPUObject CeresEngine::GLResourceSet CeresEngine::MKResourceSet CeresEngine::MTResourceSet CeresEngine::NLResourceSet CeresEngine::VKResourceSet CeresEngine::WGResourceSet

Public Member Functions

 GPUResourceSet (GPUPipelineLayout &pipelineLayout, const GPUResourceSetDescriptor &descriptor)
 Default initializer.
 
 ~GPUResourceSet () override
 Destroys the resource set object.
 
 GPUResourceSet (const GPUResourceSet &)=delete
 Deleted copy constructor.
 
GPUResourceSetoperator= (const GPUResourceSet &)=delete
 
 GPUResourceSet (GPUResourceSet &&)=delete
 Deleted move constructor.
 
GPUResourceSetoperator= (GPUResourceSet &&)=delete
 
- Public Member Functions inherited from CeresEngine::TDeviceObject< GPUResourceSetDescriptor >
 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.
 

Public Attributes

GPUPipelineLayoutpipelineLayout
 The owning pipeline layout object this ResourceSet was created from.
 
- Public Attributes inherited from CeresEngine::TDeviceObject< GPUResourceSetDescriptor >
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.
 

Additional Inherited Members

- Public Types inherited from CeresEngine::TDeviceObject< GPUResourceSetDescriptor >
using Descriptor = GPUResourceSetDescriptor
 An type-alias to the descriptor struct type.
 
- 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.
 

Detailed Description

A RenderAPI object that holds a set of resources that can be bound into shader.

Constructor & Destructor Documentation

◆ GPUResourceSet() [1/3]

CeresEngine::GPUResourceSet::GPUResourceSet ( GPUPipelineLayout pipelineLayout,
const GPUResourceSetDescriptor descriptor 
)
explicit

Default initializer.

◆ ~GPUResourceSet()

CeresEngine::GPUResourceSet::~GPUResourceSet ( )
override

Destroys the resource set object.

◆ GPUResourceSet() [2/3]

CeresEngine::GPUResourceSet::GPUResourceSet ( const GPUResourceSet )
delete

Deleted copy constructor.

◆ GPUResourceSet() [3/3]

CeresEngine::GPUResourceSet::GPUResourceSet ( GPUResourceSet &&  )
delete

Deleted move constructor.

Member Function Documentation

◆ operator=() [1/2]

GPUResourceSet & CeresEngine::GPUResourceSet::operator= ( const GPUResourceSet )
delete

◆ operator=() [2/2]

GPUResourceSet & CeresEngine::GPUResourceSet::operator= ( GPUResourceSet &&  )
delete

Member Data Documentation

◆ pipelineLayout

GPUPipelineLayout& CeresEngine::GPUResourceSet::pipelineLayout

The owning pipeline layout object this ResourceSet was created from.


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