Ignition Common

API Reference

3.0.0

Encapsulates description of a material. More...

#include <Material.hh>

Public Types

enum  BlendMode {
  BLEND_MODE_BEGIN = 0, ADD = 0, MODULATE = 1, REPLACE = 2,
  BLEND_MODE_END
}
 
enum  ShadeMode {
  SHADE_MODE_BEGIN = 0, FLAT = 0, GOURAUD = 1, PHONG = 2,
  BLINN = 3, SHADE_MODE_END
}
 

Public Member Functions

 Material ()
 Constructor. More...
 
 Material (const math::Color &_clr)
 Create a material with a default color. More...
 
 ~Material ()
 Destructor. More...
 
math::Color Ambient () const
 Get the ambient color. More...
 
BlendMode Blend () const
 Get the blending mode. More...
 
void BlendFactors (double &_srcFactor, double &_dstFactor) const
 Get the blend factors. More...
 
std::string BlendStr () const
 Get the blend mode string. More...
 
bool DepthWrite () const
 Get depth write. More...
 
math::Color Diffuse () const
 Get the diffuse color. More...
 
math::Color Emissive () const
 Get the emissive color. More...
 
bool Lighting () const
 Get lighting enabled. More...
 
std::string Name () const
 Get the name of the material. More...
 
double PointSize () const
 Get the point size. More...
 
void SetAmbient (const math::Color &_clr)
 Set the ambient color. More...
 
void SetBlend (BlendMode _b)
 Set the blending mode. More...
 
void SetBlendFactors (double _srcFactor, double _dstFactor)
 Set the blende factors. Will be interpreted as: (texture * _srcFactor) + (scene_pixel * _dstFactor) More...
 
void SetDepthWrite (bool _value)
 Set depth write. More...
 
void SetDiffuse (const math::Color &_clr)
 Set the diffuse color. More...
 
void SetEmissive (const math::Color &_clr)
 Set the emissive color. More...
 
void SetLighting (bool _value)
 Set lighting enabled. More...
 
void SetPointSize (double _size)
 Set the point size. More...
 
void SetShade (ShadeMode _b)
 Set the shading mode param[in] the shading mode. More...
 
void SetShininess (double _t)
 Set the shininess. More...
 
void SetSpecular (const math::Color &_clr)
 Set the specular color. More...
 
void SetTextureImage (const std::string &_tex)
 Set a texture image. More...
 
void SetTextureImage (const std::string &_tex, const std::string &_resourcePath)
 Set a texture image. More...
 
void SetTransparency (double _t)
 Set the transparency percentage (0..1) More...
 
ShadeMode Shade () const
 Get the shading mode. More...
 
std::string ShadeStr () const
 Get the shade mode string. More...
 
double Shininess () const
 Get the shininess. More...
 
math::Color Specular () const
 Get the specular color. More...
 
std::string TextureImage () const
 Get a texture image. More...
 
double Transparency () const
 Get the transparency percentage (0..1) More...
 

Friends

std::ostreamoperator<< (std::ostream &_out, const Material &_m)
 Stream insertion operator param[in] _out the output stream to extract from param[out] _m the material information. More...
 

Detailed Description

Encapsulates description of a material.

Member Enumeration Documentation

◆ BlendMode

enum BlendMode
Enumerator
BLEND_MODE_BEGIN 
ADD 

Add mode.

MODULATE 

Modulate mode.

REPLACE 

Replace mode.

BLEND_MODE_END 

◆ ShadeMode

enum ShadeMode
Enumerator
SHADE_MODE_BEGIN 
FLAT 

Flat shading.

GOURAUD 

Gouraud shading.

PHONG 

Phong shading.

BLINN 

Blinn shading.

SHADE_MODE_END 

Constructor & Destructor Documentation

◆ Material() [1/2]

Material ( )

Constructor.

◆ ~Material()

~Material ( )

Destructor.

◆ Material() [2/2]

Material ( const math::Color _clr)
explicit

Create a material with a default color.

Parameters
[in]_clrColor of the material

Member Function Documentation

◆ Ambient()

math::Color Ambient ( ) const

Get the ambient color.

Returns
The ambient color

◆ Blend()

BlendMode Blend ( ) const

Get the blending mode.

Returns
the blend mode

◆ BlendFactors()

void BlendFactors ( double &  _srcFactor,
double &  _dstFactor 
) const

Get the blend factors.

Parameters
[in]_srcFactorSource factor is returned in this variable
[in]_dstFactorDestination factor is returned in this variable

◆ BlendStr()

std::string BlendStr ( ) const

Get the blend mode string.

◆ DepthWrite()

bool DepthWrite ( ) const

Get depth write.

Returns
the depth write enabled state

◆ Diffuse()

math::Color Diffuse ( ) const

Get the diffuse color.

Returns
The diffuse color

◆ Emissive()

math::Color Emissive ( ) const

Get the emissive color.

Returns
The emissive color

◆ Lighting()

bool Lighting ( ) const

Get lighting enabled.

Returns
the lighting enabled state

◆ Name()

std::string Name ( ) const

Get the name of the material.

Returns
The name of the material

◆ PointSize()

double PointSize ( ) const

Get the point size.

Returns
the point size

◆ SetAmbient()

void SetAmbient ( const math::Color _clr)

Set the ambient color.

Parameters
[in]_clrThe ambient color

◆ SetBlend()

void SetBlend ( BlendMode  _b)

Set the blending mode.

Parameters
[in]_bthe blend mode

◆ SetBlendFactors()

void SetBlendFactors ( double  _srcFactor,
double  _dstFactor 
)

Set the blende factors. Will be interpreted as: (texture * _srcFactor) + (scene_pixel * _dstFactor)

Parameters
[in]_srcFactorThe source factor
[in]_dstFactorThe destination factor

◆ SetDepthWrite()

void SetDepthWrite ( bool  _value)

Set depth write.

Parameters
[in]_valuethe depth write enabled state

◆ SetDiffuse()

void SetDiffuse ( const math::Color _clr)

Set the diffuse color.

Parameters
[in]_clrThe diffuse color

◆ SetEmissive()

void SetEmissive ( const math::Color _clr)

Set the emissive color.

Parameters
[in]_clrThe emissive color

◆ SetLighting()

void SetLighting ( bool  _value)

Set lighting enabled.

Parameters
[in]_valuethe lighting enabled state

◆ SetPointSize()

void SetPointSize ( double  _size)

Set the point size.

Parameters
[in]_sizethe size

◆ SetShade()

void SetShade ( ShadeMode  _b)

Set the shading mode param[in] the shading mode.

◆ SetShininess()

void SetShininess ( double  _t)

Set the shininess.

Parameters
[in]_tThe shininess value

◆ SetSpecular()

void SetSpecular ( const math::Color _clr)

Set the specular color.

Parameters
[in]_clrThe specular color

◆ SetTextureImage() [1/2]

void SetTextureImage ( const std::string _tex)

Set a texture image.

Parameters
[in]_texThe name of the texture, which must be in the resource path

◆ SetTextureImage() [2/2]

void SetTextureImage ( const std::string _tex,
const std::string _resourcePath 
)

Set a texture image.

Parameters
[in]_texThe name of the texture
[in]_resourcePathPath which contains _tex

◆ SetTransparency()

void SetTransparency ( double  _t)

Set the transparency percentage (0..1)

Parameters
[in]_tThe amount of transparency (0..1)

◆ Shade()

ShadeMode Shade ( ) const

Get the shading mode.

Returns
the shading mode

◆ ShadeStr()

std::string ShadeStr ( ) const

Get the shade mode string.

◆ Shininess()

double Shininess ( ) const

Get the shininess.

Returns
The shininess value

◆ Specular()

math::Color Specular ( ) const

Get the specular color.

Returns
The specular color

◆ TextureImage()

std::string TextureImage ( ) const

Get a texture image.

Returns
The name of the texture image (if one exists) or an empty string

◆ Transparency()

double Transparency ( ) const

Get the transparency percentage (0..1)

Returns
The transparency percentage

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream _out,
const Material _m 
)
friend

Stream insertion operator param[in] _out the output stream to extract from param[out] _m the material information.


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