Lugdunum  0.1.0
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::Render::Pipeline Class Reference

Class for the Vulkan pipeline, Render side. More...

#include <Pipeline.hpp>

Inheritance diagram for lug::Graphics::Vulkan::Render::Pipeline:
[legend]
Collaboration diagram for lug::Graphics::Vulkan::Render::Pipeline:
[legend]

Classes

struct  Id
 Id of the Pipeline. It's a concatenation of three parts: PrimitivePart, MaterialPart and PipelinePart It allows to uniquely identify a pipeline using these characteristics. More...
 
class  ShaderBuilder
 

Public Member Functions

 Pipeline (Renderer &renderer, Id id)
 
 Pipeline (const Pipeline &)=delete
 
 Pipeline (Pipeline &&)=delete
 
Pipelineoperator= (const Pipeline &)=delete
 
Pipelineoperator= (Pipeline &&)=delete
 
 ~Pipeline ()=default
 
Id getId () const
 Returns the id of the Pipeline. More...
 
const API::GraphicsPipelinegetPipelineAPI ()
 
- Public Member Functions inherited from lug::Graphics::Resource
 Resource (Type type, const std::string &name)
 
 Resource (const Resource &)=delete
 
 Resource (Resource &&)=delete
 
Resourceoperator= (const Resource &)=delete
 
Resourceoperator= (Resource &&)=delete
 
virtual ~Resource ()=default
 
Type getType () const
 Returns the type of the Resource. More...
 
Handle getHandle () const
 Returns the handle of the Resource. More...
 
const std::string & getName () const
 Gets the name of the Resource. More...
 
void setName (const std::string &name)
 Sets the name of the Resource. More...
 

Static Public Member Functions

static Id getBaseId ()
 
static Resource::SharedPtr< Pipelinecreate (Renderer &renderer, Id id)
 

Private Member Functions

bool init ()
 

Private Attributes

Renderer_renderer
 
Id _id
 
API::GraphicsPipeline _pipeline
 

Additional Inherited Members

- Public Types inherited from lug::Graphics::Resource
enum  Type : uint8_t {
  Type::Scene, Type::SceneNode, Type::Material, Type::Mesh,
  Type::Light, Type::Texture, Type::Pipeline, Type::Camera,
  Type::SkyBox
}
 Type of the resource. More...
 
- Protected Attributes inherited from lug::Graphics::Resource
std::string _name
 

Detailed Description

Class for the Vulkan pipeline, Render side.

Definition at line 26 of file Pipeline.hpp.

Constructor & Destructor Documentation

◆ Pipeline() [1/3]

lug::Graphics::Vulkan::Render::Pipeline::Pipeline ( Renderer renderer,
Id  id 
)

Definition at line 19 of file Pipeline.cpp.

◆ Pipeline() [2/3]

lug::Graphics::Vulkan::Render::Pipeline::Pipeline ( const Pipeline )
delete

◆ Pipeline() [3/3]

lug::Graphics::Vulkan::Render::Pipeline::Pipeline ( Pipeline &&  )
delete

◆ ~Pipeline()

lug::Graphics::Vulkan::Render::Pipeline::~Pipeline ( )
default

Member Function Documentation

◆ operator=() [1/2]

Pipeline& lug::Graphics::Vulkan::Render::Pipeline::operator= ( const Pipeline )
delete

◆ operator=() [2/2]

Pipeline& lug::Graphics::Vulkan::Render::Pipeline::operator= ( Pipeline &&  )
delete

◆ getId()

Pipeline::Id Pipeline::getId ( ) const
inline

Returns the id of the Pipeline.

Returns
The id.

Definition at line 1 of file Pipeline.inl.

◆ getBaseId()

Pipeline::Id Pipeline::getBaseId ( )
inlinestatic

Definition at line 5 of file Pipeline.inl.

◆ getPipelineAPI()

const API::GraphicsPipeline & Pipeline::getPipelineAPI ( )
inline

Definition at line 29 of file Pipeline.inl.

◆ create()

Resource::SharedPtr< Pipeline > lug::Graphics::Vulkan::Render::Pipeline::create ( Renderer renderer,
Id  id 
)
static

Definition at line 439 of file Pipeline.cpp.

◆ init()

bool lug::Graphics::Vulkan::Render::Pipeline::init ( )
private

Definition at line 21 of file Pipeline.cpp.

Member Data Documentation

◆ _renderer

Renderer& lug::Graphics::Vulkan::Render::Pipeline::_renderer
private

Definition at line 217 of file Pipeline.hpp.

◆ _id

Id lug::Graphics::Vulkan::Render::Pipeline::_id
private

Definition at line 218 of file Pipeline.hpp.

◆ _pipeline

API::GraphicsPipeline lug::Graphics::Vulkan::Render::Pipeline::_pipeline
private

Definition at line 220 of file Pipeline.hpp.


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