Cogs.Core
Public Member Functions | Private Attributes | List of all members
Cogs::Core::RenderResourceBase< ResourceType > Struct Template Reference

Render resources represent Engine resources like Mesh, Effect or MaterialInstance, in the renderer. More...

#include <RenderResourceBase.h>

Inheritance diagram for Cogs::Core::RenderResourceBase< ResourceType >:
Cogs::Core::RenderResource

Public Member Functions

 RenderResourceBase (const RenderResourceBase &)=delete
 
void setResource (ResourceType *resource)
 
ResourceType * getResource () const
 
- Public Member Functions inherited from Cogs::Core::RenderResource
 RenderResource (const RenderResource &)=delete
 
RenderResourceoperator= (const RenderResource &)=delete
 
void setActive ()
 
void setDelayed ()
 
void setFailed ()
 
void setReleased ()
 
void setOwned ()
 
void setPersistent ()
 
void setOverride ()
 
bool isActive () const
 Get if the render resource is active and can be used for rendering.
 
bool isDelayed () const
 Get if the render resource is in a delayed state.
 
bool isSet (RenderResourceFlags flag) const
 
bool isPersistent () const
 
bool isOverride () const
 
bool hasFailed () const
 
bool isReleased () const
 
bool isOwned () const
 
void setName (const StringView &str)
 
StringView getName () const
 
RenderResourceType getType () const
 
RenderResourceFlags getFlags () const
 
void incrementGeneration ()
 
uint16_t getGeneration ()
 
Id getIdentity () const
 

Private Attributes

ResourceType * resource = nullptr
 Engine resource this render resource represents.
 

Additional Inherited Members

- Public Types inherited from Cogs::Core::RenderResource
typedef uint32_t Id
 
- Protected Attributes inherited from Cogs::Core::RenderResource
StringRef name = NoString
 
RenderResourceType type = RenderResourceType::Unknown
 
RenderResourceFlags flags = RenderResourceFlags::None
 
uint16_t generation = 0
 
Id identity = 0
 

Detailed Description

template<typename ResourceType>
struct Cogs::Core::RenderResourceBase< ResourceType >

Render resources represent Engine resources like Mesh, Effect or MaterialInstance, in the renderer.

When engine resources are created, filled with data, and ready to use, the renderer is notified of the updates to the resource. The first time it is notified, a render resource is created, which is then responsible for transferring data from the resource to suitable GPU data structures.

Definition at line 19 of file RenderResourceBase.h.

Member Function Documentation

◆ getResource()

template<typename ResourceType >
ResourceType * Cogs::Core::RenderResourceBase< ResourceType >::getResource ( ) const
inline

Definition at line 25 of file RenderResourceBase.h.

◆ setResource()

template<typename ResourceType >
void Cogs::Core::RenderResourceBase< ResourceType >::setResource ( ResourceType *  resource)
inline

Definition at line 24 of file RenderResourceBase.h.

Member Data Documentation

◆ resource

template<typename ResourceType >
ResourceType* Cogs::Core::RenderResourceBase< ResourceType >::resource = nullptr
private

Engine resource this render resource represents.

Definition at line 29 of file RenderResourceBase.h.


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