CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GPURenderPass Class Referenceabstract

#include <CeresEngine/RenderAPI/GPURenderPass.hpp>

Inheritance diagram for CeresEngine::GPURenderPass:
CeresEngine::TDeviceObject< GPURenderPassDescriptor > CeresEngine::GPUDeviceObject CeresEngine::GPUObject CeresEngine::GLRenderPass CeresEngine::MKRenderPass CeresEngine::MTRenderPass CeresEngine::NLRenderPass CeresEngine::VKRenderPass CeresEngine::WGRenderPass

Classes

class  Scope
 A helper class that begins a scoped render target binding. More...
 

Public Member Functions

 GPURenderPass (const GPURenderPass &)=delete
 Deleted copy constructor.
 
GPURenderPass & operator= (const GPURenderPass &)=delete
 
 GPURenderPass (GPURenderPass &&)=delete
 Deleted move constructor.
 
GPURenderPass & operator= (GPURenderPass &&)=delete
 
virtual void begin (GPUCommandBuffer &commandBuffer, GPURenderTarget &renderTarget, const Color &clearColor=Color(0.0, 0.0, 0.0, 0.0))=0
 Prepares the render pass for execution.
 
virtual void end (GPUCommandBuffer &commandBuffer, GPURenderTarget &renderTarget)=0
 Finishes the render pass execution.
 
template<typename Func , typename... Args>
decltype(auto) with (GPUCommandBuffer &commandBuffer, GPURenderTarget &renderTarget, Func &&block, Args &&... args)
 Prepares the render pass for execution.
 
 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< GPURenderPassDescriptor >
 TDeviceObject (GPUDevice &device, const Descriptor &descriptor)
 Initializes a new RenderAPI device object instance.
 
 TDeviceObject (const TDeviceObject &)=delete
 
 TDeviceObject (TDeviceObject &&)=delete
 
 ~TDeviceObject () override=default
 
TDeviceObject & operator= (const TDeviceObject &)=delete
 
TDeviceObject & operator= (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
 
GPUObject & operator= (const GPUObject &)=delete
 
 GPUObject (GPUObject &&)=delete
 
GPUObject & operator= (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.
 

Additional Inherited Members

- Public Types inherited from CeresEngine::TDeviceObject< GPURenderPassDescriptor >
using Descriptor = GPURenderPassDescriptor
 An type-alias to the descriptor struct type.
 
- Public Attributes inherited from CeresEngine::TDeviceObject< GPURenderPassDescriptor >
const Descriptor & descriptor
 A structure that describes the object and it's properties.
 
- Public Attributes inherited from CeresEngine::GPUDeviceObject
GPUDevice & device
 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.
 

Constructor & Destructor Documentation

◆ GPURenderPass() [1/2]

CeresEngine::GPURenderPass::GPURenderPass ( const GPURenderPass &  )
delete

Deleted copy constructor.

◆ GPURenderPass() [2/2]

CeresEngine::GPURenderPass::GPURenderPass ( GPURenderPass &&  )
delete

Deleted move constructor.

Member Function Documentation

◆ begin()

virtual void CeresEngine::GPURenderPass::begin ( GPUCommandBuffer &  commandBuffer,
GPURenderTarget &  renderTarget,
const Color &  clearColor = Color(0.0, 0.0, 0.0, 0.0) 
)
pure virtual

◆ end()

virtual void CeresEngine::GPURenderPass::end ( GPUCommandBuffer &  commandBuffer,
GPURenderTarget &  renderTarget 
)
pure virtual

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ TDeviceObject() [1/3]

Inherited constructors.

◆ TDeviceObject() [2/3]

CeresEngine::TDeviceObject< TDescriptor, TParent >::TDeviceObject ( GPUDevice &  device,
const Descriptor &  descriptor 
)
inlineexplicit

Inherited constructors.

◆ TDeviceObject() [3/3]

CeresEngine::TDeviceObject< TDescriptor, TParent >::TDeviceObject ( TDeviceObject &&  )
delete

Inherited constructors.

◆ with()

template<typename Func , typename... Args>
decltype(auto) CeresEngine::GPURenderPass::with ( GPUCommandBuffer &  commandBuffer,
GPURenderTarget &  renderTarget,
Func &&  block,
Args &&...  args 
)
inline

Prepares the render pass for execution.

When ready, the renderer must call block() so that the user can fill the command buffer for the render pass.

Parameters
commandBufferThe command buffer responsible for queuing rendering commands
renderTargetThe render target to run the render pass for.
blockThe rendering block

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