Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Faro::GraphicsPipeline Class Reference

Graphics pipeline state object. More...

#include <GraphicsPipeline.hpp>

Inheritance diagram for Faro::GraphicsPipeline:
Faro::IGraphicsAdapterChild Faro::IObject Faro::GraphicsPipelineVK

Public Member Functions

void Init (GraphicsAdapter *adapter, GraphicsPipelineDesc desc)
 
void Init (GraphicsAdapter *adapter)
 Initialize this as a child object for an adapter. Also invokes IObject::Init, derived classes should use that for initialization.
 
void Init () override
 Run the initialization logic of this object. Should be overriden by deriving classes.
 
GraphicsAdapterGetAdapter ()
 
template<class T >
T * GetTypedAdapter ()
 
virtual void Destroy ()
 Run the destruction logic of this class. This also frees its memory.
 

Static Public Member Functions

static bool LoadShader (DataStream *stream, GraphicsPipelineDesc &desc)
 Load a prebuilt shader into the provided pipeline description.
 

Protected Attributes

GraphicsPipelineDesc desc
 

Detailed Description

Graphics pipeline state object.

Member Function Documentation

◆ Destroy()

void Faro::IObject::Destroy ( )
virtualinherited

Run the destruction logic of this class. This also frees its memory.

Warning
When overriding, the super call must be performed last

Reimplemented in Faro::DataStream, Faro::DataStreamCopy, Faro::GraphicsBufferContainer, Faro::GraphicsSwapchain, Faro::GraphicsBufferVK, Faro::GraphicsCommandListVK, Faro::GraphicsFenceVK, Faro::GraphicsPipelineVK, Faro::GraphicsSemaphoreVK, and Faro::GraphicsSwapchainVK.

◆ GetAdapter()

GraphicsAdapter * Faro::IGraphicsAdapterChild::GetAdapter ( )
inherited

◆ GetTypedAdapter()

template<class T >
T * Faro::IGraphicsAdapterChild::GetTypedAdapter ( )
inlineinherited

◆ Init() [1/3]

void Faro::IGraphicsAdapterChild::Init ( )
overridevirtual

Run the initialization logic of this object. Should be overriden by deriving classes.

Reimplemented from Faro::IObject.

Reimplemented in Faro::GraphicsPipelineVK, and Faro::GraphicsPipelineVK.

◆ Init() [2/3]

void Faro::IGraphicsAdapterChild::Init ( GraphicsAdapter adapter)

Initialize this as a child object for an adapter. Also invokes IObject::Init, derived classes should use that for initialization.

Parameters
adapterGraphics adapter to initialize this child on.

◆ Init() [3/3]

void Faro::GraphicsPipeline::Init ( GraphicsAdapter adapter,
GraphicsPipelineDesc  desc 
)

◆ LoadShader()

bool Faro::GraphicsPipeline::LoadShader ( DataStream stream,
GraphicsPipelineDesc desc 
)
static

Load a prebuilt shader into the provided pipeline description.

Parameters
streamStream to read the shader from
[out]descPipeline description to place the shader in
Returns
true The shader was loaded successfully
false An error occurred while trying to load the shader

Member Data Documentation

◆ desc

GraphicsPipelineDesc Faro::GraphicsPipeline::desc
protected

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