Lugdunum  0.1.0
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lug::Graphics::Vulkan::Render::Material Class Referencefinal

Class for Material. More...

#include <Material.hpp>

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

Public Member Functions

 Material (const Material &)=delete
 
 Material (Material &&)=delete
 
Materialoperator= (const Material &)=delete
 
Materialoperator= (Material &&)=delete
 
 ~Material ()
 
void destroy ()
 
Pipeline::Id::MaterialPart getPipelineId ()
 
- Public Member Functions inherited from lug::Graphics::Render::Material
 Material (const std::string &name)
 Constructs a Material. More...
 
 Material (const Material &)=delete
 
 Material (Material &&)=delete
 
Materialoperator= (const Material &)=delete
 
Materialoperator= (Material &&)=delete
 
void setIrradianceMap (const Resource::SharedPtr< SkyBox > irradianceMap)
 
void setPrefilteredMap (const Resource::SharedPtr< SkyBox > prefilteredMap)
 
const ConstantsgetConstants () const
 
const TextureInfogetBaseColorTexture () const
 
const TextureInfogetMetallicRoughnessTexture () const
 
const TextureInfogetNormalTexture () const
 
const TextureInfogetOcclusionTexture () const
 
const TextureInfogetEmissiveTexture () const
 
const Resource::SharedPtr< SkyBoxgetIrradianceMap () const
 
const Resource::SharedPtr< SkyBoxgetPrefilteredMap () const
 
- 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...
 
- Public Member Functions inherited from lug::Graphics::Render::DirtyObject
 DirtyObject ()=default
 
 DirtyObject (const DirtyObject &)=delete
 
 DirtyObject (DirtyObject &&)=delete
 
DirtyObjectoperator= (const DirtyObject &)=delete
 
DirtyObjectoperator= (DirtyObject &&)=delete
 
 ~DirtyObject ()=default
 
void setDirty ()
 
void setDirty (uint32_t currentFrame)
 
void clearDirty ()
 
void clearDirty (uint32_t currentFrame)
 
bool isDirty (uint32_t currentFrame) const
 
bool isDirty () const
 

Private Member Functions

 Material (const std::string &name)
 Constructs a Material. More...
 

Private Attributes

Pipeline::Id::MaterialPart _pipelineIdMaterialPart
 

Friends

Resource::SharedPtr< lug::Graphics::Render::MaterialBuilder::Material::build (const ::lug::Graphics::Builder::Material &)
 

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::Render::Material
Constants _constants
 
TextureInfo _baseColorTexture
 
TextureInfo _metallicRoughnessTexture
 
TextureInfo _normalTexture
 
TextureInfo _occlusionTexture
 
TextureInfo _emissiveTexture
 
Resource::SharedPtr< SkyBox_irradianceMap
 
Resource::SharedPtr< SkyBox_prefilteredMap
 
- Protected Attributes inherited from lug::Graphics::Resource
std::string _name
 

Detailed Description

Class for Material.

Definition at line 18 of file Material.hpp.

Constructor & Destructor Documentation

◆ Material() [1/3]

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

◆ Material() [2/3]

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

◆ ~Material()

lug::Graphics::Vulkan::Render::Material::~Material ( )
virtual

Reimplemented from lug::Graphics::Render::Material.

Definition at line 13 of file Material.cpp.

◆ Material() [3/3]

lug::Graphics::Vulkan::Render::Material::Material ( const std::string &  name)
private

Constructs a Material.

Parameters
[in]nameThe name of the Material
[in]typeThe type of the Material

Definition at line 9 of file Material.cpp.

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ destroy()

void lug::Graphics::Vulkan::Render::Material::destroy ( )

Definition at line 17 of file Material.cpp.

◆ getPipelineId()

Pipeline::Id::MaterialPart lug::Graphics::Vulkan::Render::Material::getPipelineId ( )

Definition at line 21 of file Material.cpp.

Friends And Related Function Documentation

◆ Builder::Material::build

Member Data Documentation

◆ _pipelineIdMaterialPart

Pipeline::Id::MaterialPart lug::Graphics::Vulkan::Render::Material::_pipelineIdMaterialPart
private

Definition at line 44 of file Material.hpp.


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