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

#include <CeresEngine/Renderer/RenderGraph/RenderResource.hpp>

Inheritance diagram for CeresEngine::ExternalImageRenderResource:
CeresEngine::ImageRenderResource CeresEngine::TRenderResource< GPUImage, GPUImageDescriptor, RenderResourceType::Image > CeresEngine::RenderResource CeresEngine::RefCounted< RenderResource >

Public Member Functions

 ExternalImageRenderResource (RenderGraph &renderGraph, GPUImage &image)
 
 ExternalImageRenderResource (RenderGraph &renderGraph, const GPUImagePtr &image)
 
void realize (GPUDevice &device) final
 Realizes the resource.
 
void unrealize (GPUDevice &device) final
 Unrealizes the resource.
 
GPUImageget () const final
 
void set (GPUImage &image)
 
const GPUImageDescriptorgetDescriptor () const final
 Gets the resource descriptor.
 
bool isTransient () const final
 
bool isExternal () const final
 
- Public Member Functions inherited from CeresEngine::TRenderResource< GPUImage, GPUImageDescriptor, RenderResourceType::Image >
bool isValid () const override
 
GPUImageoperator* () const
 
GPUImageoperator-> () const
 
 operator GPUImage & () const
 
 operator GPUImage * () const
 
 operator RC< GPUImage > () const
 
 RenderResource (RenderGraph &renderGraph)
 
- Public Member Functions inherited from CeresEngine::RenderResource
 RenderResource (RenderGraph &renderGraph)
 
virtual ~RenderResource ()=default
 
 operator bool () const
 
const Vector< RenderTask * > & getReaders () const
 
const Vector< RenderTask * > & getWriters () const
 
- Public Member Functions inherited from CeresEngine::RefCounted< RenderResource >
 RefCounted (Args &&... args)
 Creates a new RefCounted object and constructs a new Deleter by forwarding Args to it.
 
void retain () noexcept
 Retains the object by increment it's reference count by one.
 
bool release () noexcept
 Relases the object by decrementing it's reference count by one.
 

Private Attributes

GPUImagePtr mImage = nullptr
 

Additional Inherited Members

- Static Public Attributes inherited from CeresEngine::TRenderResource< GPUImage, GPUImageDescriptor, RenderResourceType::Image >
static const constexpr RenderResourceType resourceType
 
- Protected Attributes inherited from CeresEngine::RenderResource
RenderGraphmRenderGraph
 The owning render graph instance.
 

Constructor & Destructor Documentation

◆ ExternalImageRenderResource() [1/2]

CeresEngine::ExternalImageRenderResource::ExternalImageRenderResource ( RenderGraph renderGraph,
GPUImage image 
)

◆ ExternalImageRenderResource() [2/2]

CeresEngine::ExternalImageRenderResource::ExternalImageRenderResource ( RenderGraph renderGraph,
const GPUImagePtr image 
)

Member Function Documentation

◆ get()

GPUImage * CeresEngine::ExternalImageRenderResource::get ( ) const
inlinefinalvirtual

◆ getDescriptor()

const GPUImageDescriptor & CeresEngine::ExternalImageRenderResource::getDescriptor ( ) const
inlinefinalvirtual

Gets the resource descriptor.

If this resource is transient, returns the descriptor that will be used to create it, if external returns the descriptor for the currently bound resource.

Implements CeresEngine::TRenderResource< GPUImage, GPUImageDescriptor, RenderResourceType::Image >.

◆ isExternal()

bool CeresEngine::ExternalImageRenderResource::isExternal ( ) const
inlinefinalvirtual

Returns
true if the resource is external and must be provided externally.

Implements CeresEngine::RenderResource.

◆ isTransient()

bool CeresEngine::ExternalImageRenderResource::isTransient ( ) const
inlinefinalvirtual

Returns
true if the resource is transient and will be automatically created by the render graph implementation.

Implements CeresEngine::RenderResource.

◆ realize()

void CeresEngine::ExternalImageRenderResource::realize ( GPUDevice device)
finalvirtual

Realizes the resource.

If the resource is a transient resource, it will be created at this stage. Normally, this method is called before executing the first render tasks that uses it.

Parameters
deviceThe device to allocate the resource from.

Implements CeresEngine::RenderResource.

◆ set()

void CeresEngine::ExternalImageRenderResource::set ( GPUImage image)
inline

Returns
A pointer to the resource.

◆ unrealize()

void CeresEngine::ExternalImageRenderResource::unrealize ( GPUDevice device)
finalvirtual

Unrealizes the resource.

If the resource is a transient resource, it will be destroyed at this stage. Normally, this method is called after executing the last render tasks that uses it.

Parameters
deviceThe device to allocate the resource from.

Implements CeresEngine::RenderResource.

Member Data Documentation

◆ mImage

GPUImagePtr CeresEngine::ExternalImageRenderResource::mImage = nullptr
private

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