Lysa  0.0
Lysa 3D Engine
Material Class Referenceabstract

Detailed Description

Base class for all materials of models surfaces

+ Inheritance diagram for Material:

Public Types

enum  Type { STANDARD, SHADER }
 

Public Member Functions

auto getCullMode () const
 
void setCullMode (const vireo::CullMode mode)
 
auto getTransparency () const
 
void setTransparency (const Transparency transparencyMode)
 
auto getAlphaScissor () const
 
void setAlphaScissor (const float scissor)
 
auto isUploaded () const
 
void upload () const
 
virtual MaterialData getMaterialData () const = 0
 
virtual pipeline_id getPipelineId () const = 0
 
const auto & getIndex () const
 
auto getType () const
 
void setBypassUpload (const bool bypass)
 
- Public Member Functions inherited from ManagedResource
 ManagedResource () = default
 
 ManagedResource (UniqueResource &) = delete
 
ManagedResource & operator= (ManagedResource &) = delete
 
- Public Member Functions inherited from Resource
bool operator== (const Resource &other) const
 
 Resource () = default
 
 Resource (const unique_id id)
 
virtual ~Resource () = default
 

Protected Member Functions

 Material (Type type)
 

Additional Inherited Members

- Public Attributes inherited from ManagedResource
uint32 refCounter {0}
 
- Public Attributes inherited from Resource
unique_id id {INVALID_ID}
 

Member Enumeration Documentation

enum Type
Enum ValuesDocumentation
STANDARD 
SHADER 

Constructor & Destructor Documentation

Material ( Type  type)
protected

Member Function Documentation

auto getAlphaScissor ( ) const
inline

Returns the alpha scissor threshold value

auto getCullMode ( ) const
inline

Returns the cull mode.

const auto& getIndex ( ) const
inline
virtual MaterialData getMaterialData ( ) const
pure virtual
virtual pipeline_id getPipelineId ( ) const
pure virtual
auto getTransparency ( ) const
inline

Returns the transparency mode

auto getType ( ) const
inline
auto isUploaded ( ) const
inline
void setAlphaScissor ( const float  scissor)
inline

Sets the alpha scissor threshold value Threshold at which the alpha scissors will discard values. Higher values will result in more pixels being discarded. If the material becomes too opaque at a distance, try increasing this value. If the material disappears at a distance, try decreasing this value.

void setBypassUpload ( const bool  bypass)
inline
void setCullMode ( const vireo::CullMode  mode)
inline

Sets the CullMode. Determines which side of the triangle to cull depending on whether the triangle faces towards or away from the camera.

void setTransparency ( const Transparency  transparencyMode)
inline

Sets the transparency mode

void upload ( ) const

Friends And Related Function Documentation

friend class MaterialManager
friend