Lugdunum  0.1.0
Classes | Public Member Functions | Protected Attributes | Friends | List of all members
lug::Graphics::Render::Material Class Reference

Class for Material. Is a Resource. More...

#include <Material.hpp>

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

Classes

struct  Constants
 
struct  TextureInfo
 

Public Member Functions

 Material (const std::string &name)
 Constructs a Material. More...
 
 Material (const Material &)=delete
 
 Material (Material &&)=delete
 
Materialoperator= (const Material &)=delete
 
Materialoperator= (Material &&)=delete
 
virtual ~Material ()=default
 
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
 

Protected Attributes

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
 

Friends

class ::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...
 

Detailed Description

Class for Material. Is a Resource.

Definition at line 25 of file Material.hpp.

Constructor & Destructor Documentation

◆ Material() [1/3]

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

Constructs a Material.

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

Definition at line 7 of file Material.cpp.

◆ Material() [2/3]

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

◆ Material() [3/3]

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

◆ ~Material()

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

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setIrradianceMap()

void Material::setIrradianceMap ( const Resource::SharedPtr< SkyBox irradianceMap)
inline

Definition at line 1 of file Material.inl.

◆ setPrefilteredMap()

void Material::setPrefilteredMap ( const Resource::SharedPtr< SkyBox prefilteredMap)
inline

Definition at line 6 of file Material.inl.

◆ getConstants()

const Material::Constants & Material::getConstants ( ) const
inline

Definition at line 11 of file Material.inl.

◆ getBaseColorTexture()

const Material::TextureInfo & Material::getBaseColorTexture ( ) const
inline

Definition at line 15 of file Material.inl.

◆ getMetallicRoughnessTexture()

const Material::TextureInfo & Material::getMetallicRoughnessTexture ( ) const
inline

Definition at line 19 of file Material.inl.

◆ getNormalTexture()

const Material::TextureInfo & Material::getNormalTexture ( ) const
inline

Definition at line 23 of file Material.inl.

◆ getOcclusionTexture()

const Material::TextureInfo & Material::getOcclusionTexture ( ) const
inline

Definition at line 27 of file Material.inl.

◆ getEmissiveTexture()

const Material::TextureInfo & Material::getEmissiveTexture ( ) const
inline

Definition at line 31 of file Material.inl.

◆ getIrradianceMap()

const Resource::SharedPtr< SkyBox > Material::getIrradianceMap ( ) const
inline

Definition at line 35 of file Material.inl.

◆ getPrefilteredMap()

const Resource::SharedPtr< SkyBox > Material::getPrefilteredMap ( ) const
inline

Definition at line 39 of file Material.inl.

Friends And Related Function Documentation

◆ ::lug::Graphics::Builder::Material

friend class ::lug::Graphics::Builder::Material
friend

Definition at line 26 of file Material.hpp.

Member Data Documentation

◆ _constants

Constants lug::Graphics::Render::Material::_constants
protected

Definition at line 75 of file Material.hpp.

◆ _baseColorTexture

TextureInfo lug::Graphics::Render::Material::_baseColorTexture
protected

Definition at line 76 of file Material.hpp.

◆ _metallicRoughnessTexture

TextureInfo lug::Graphics::Render::Material::_metallicRoughnessTexture
protected

Definition at line 77 of file Material.hpp.

◆ _normalTexture

TextureInfo lug::Graphics::Render::Material::_normalTexture
protected

Definition at line 78 of file Material.hpp.

◆ _occlusionTexture

TextureInfo lug::Graphics::Render::Material::_occlusionTexture
protected

Definition at line 79 of file Material.hpp.

◆ _emissiveTexture

TextureInfo lug::Graphics::Render::Material::_emissiveTexture
protected

Definition at line 80 of file Material.hpp.

◆ _irradianceMap

Resource::SharedPtr<SkyBox> lug::Graphics::Render::Material::_irradianceMap
protected

Definition at line 81 of file Material.hpp.

◆ _prefilteredMap

Resource::SharedPtr<SkyBox> lug::Graphics::Render::Material::_prefilteredMap
protected

Definition at line 82 of file Material.hpp.


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