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

#include <Material.hpp>

Collaboration diagram for lug::Graphics::Builder::Material:
[legend]

Public Member Functions

 Material (Renderer &renderer)
 
 Material (const Material &)=delete
 
 Material (Material &&)=delete
 
Materialoperator= (const Material &)=delete
 
Materialoperator= (Material &&)=delete
 
 ~Material ()=default
 
void setName (const std::string &name)
 Sets the name. More...
 
void setBaseColorFactor (const Math::Vec4f &factor)
 
void setEmissiveFactor (const Math::Vec3f &factor)
 
void setMetallicFactor (float factor)
 
void setRoughnessFactor (float factor)
 
void setBaseColorTexture (Resource::SharedPtr< Render::Texture > texture, uint32_t texCoord=0)
 
void setMetallicRoughnessTexture (Resource::SharedPtr< Render::Texture > texture, uint32_t texCoord=0)
 
void setNormalTexture (Resource::SharedPtr< Render::Texture > texture, uint32_t texCoord=0, float scale=1.0f)
 
void setOcclusionTexture (Resource::SharedPtr< Render::Texture > texture, uint32_t texCoord=0, float strength=1.0f)
 
void setEmissiveTexture (Resource::SharedPtr< Render::Texture > texture, uint32_t texCoord=0)
 
Resource::SharedPtr< Render::Materialbuild ()
 

Protected Attributes

Renderer_renderer
 
std::string _name
 
Render::Material::Constants _constants
 
Render::Material::TextureInfo _baseColorTexture
 
Render::Material::TextureInfo _metallicRoughnessTexture
 
Render::Material::TextureInfo _normalTexture
 
Render::Material::TextureInfo _occlusionTexture
 
Render::Material::TextureInfo _emissiveTexture
 

Friends

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

Detailed Description

Definition at line 17 of file Material.hpp.

Constructor & Destructor Documentation

◆ Material() [1/3]

lug::Graphics::Builder::Material::Material ( Renderer renderer)
explicit

Definition at line 9 of file Material.cpp.

◆ Material() [2/3]

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

◆ Material() [3/3]

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

◆ ~Material()

lug::Graphics::Builder::Material::~Material ( )
default

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ setName()

void lug::Graphics::Builder::Material::setName ( const std::string &  name)

Sets the name.

Parameters
[in]nameThe name of the mesh.

◆ setBaseColorFactor()

void Material::setBaseColorFactor ( const Math::Vec4f &  factor)
inline

Definition at line 5 of file Material.inl.

◆ setEmissiveFactor()

void Material::setEmissiveFactor ( const Math::Vec3f &  factor)
inline

Definition at line 9 of file Material.inl.

◆ setMetallicFactor()

void Material::setMetallicFactor ( float  factor)
inline

Definition at line 13 of file Material.inl.

◆ setRoughnessFactor()

void Material::setRoughnessFactor ( float  factor)
inline

Definition at line 17 of file Material.inl.

◆ setBaseColorTexture()

void Material::setBaseColorTexture ( Resource::SharedPtr< Render::Texture texture,
uint32_t  texCoord = 0 
)
inline

Definition at line 21 of file Material.inl.

◆ setMetallicRoughnessTexture()

void Material::setMetallicRoughnessTexture ( Resource::SharedPtr< Render::Texture texture,
uint32_t  texCoord = 0 
)
inline

Definition at line 26 of file Material.inl.

◆ setNormalTexture()

void Material::setNormalTexture ( Resource::SharedPtr< Render::Texture texture,
uint32_t  texCoord = 0,
float  scale = 1.0f 
)
inline

Definition at line 31 of file Material.inl.

◆ setOcclusionTexture()

void Material::setOcclusionTexture ( Resource::SharedPtr< Render::Texture texture,
uint32_t  texCoord = 0,
float  strength = 1.0f 
)
inline

Definition at line 37 of file Material.inl.

◆ setEmissiveTexture()

void Material::setEmissiveTexture ( Resource::SharedPtr< Render::Texture texture,
uint32_t  texCoord = 0 
)
inline

Definition at line 43 of file Material.inl.

◆ build()

Resource::SharedPtr< Render::Material > lug::Graphics::Builder::Material::build ( )

Definition at line 11 of file Material.cpp.

Friends And Related Function Documentation

◆ lug::Graphics::Vulkan::Builder::Material::build

Member Data Documentation

◆ _renderer

Renderer& lug::Graphics::Builder::Material::_renderer
protected

Definition at line 51 of file Material.hpp.

◆ _name

std::string lug::Graphics::Builder::Material::_name
protected

Definition at line 53 of file Material.hpp.

◆ _constants

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

Definition at line 54 of file Material.hpp.

◆ _baseColorTexture

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

Definition at line 55 of file Material.hpp.

◆ _metallicRoughnessTexture

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

Definition at line 56 of file Material.hpp.

◆ _normalTexture

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

Definition at line 57 of file Material.hpp.

◆ _occlusionTexture

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

Definition at line 58 of file Material.hpp.

◆ _emissiveTexture

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

Definition at line 59 of file Material.hpp.


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