Gazebo Rendering

API Reference

3.7.2

Ogre 2.x implementation of the material class. More...

#include <Ogre2Material.hh>

Public Member Functions

virtual ~Ogre2Material ()
 Destructor. More...
 
virtual void ClearEmissiveMap () override
 Removes any emissive map mapped to this material. More...
 
virtual void ClearEnvironmentMap () override
 Removes any environment map mapped to this material. More...
 
virtual void ClearMetalnessMap () override
 Removes any metalness map mapped to this material. More...
 
virtual void ClearNormalMap () override
 Removes any normal map mapped to this material. More...
 
virtual void ClearRoughnessMap () override
 Removes any roughness map mapped to this material. More...
 
virtual void ClearTexture () override
 Removes any texture mapped to this material. More...
 
virtual Ogre::HlmsPbsDatablock * Datablock () const
 Return ogre Hlms material datablock. More...
 
virtual bool DepthCheckEnabled () const override
 Determine if depth buffer checking is enabled. More...
 
virtual bool DepthWriteEnabled () const override
 Determine if depth buffer writing is enabled. More...
 
virtual void Destroy () override
 
virtual math::Color Diffuse () const override
 Get the diffuse color. More...
 
virtual math::Color Emissive () const override
 Get the emissive color. More...
 
virtual std::string EmissiveMap () const override
 Get the URI of the emissive map file. More...
 
virtual std::string EnvironmentMap () const override
 Get the URI of the environment map file. More...
 
virtual bool HasEmissiveMap () const override
 Determine if this material has an emissive map. More...
 
virtual bool HasEnvironmentMap () const override
 Determine if this material has a environment map. More...
 
virtual bool HasMetalnessMap () const override
 Determine if this material has a metalness map. More...
 
virtual bool HasNormalMap () const override
 Determine if this material has a normal map. More...
 
virtual bool HasRoughnessMap () const override
 Determine if this material has a roughness map. More...
 
virtual bool HasTexture () const override
 Determine if this material has a texture. More...
 
virtual Ogre::MaterialPtr Material ()
 Return ogre low level material. More...
 
virtual float Metalness () const override
 Get the metalness value of this material. More...
 
virtual std::string MetalnessMap () const override
 Get the URI of the metalness map file. More...
 
virtual std::string NormalMap () const override
 Get the URI of the normal map file. More...
 
virtual void PreRender () override
 Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender. More...
 
virtual bool ReceiveShadows () const override
 Determine if this material receives shadows. More...
 
virtual float Roughness () const override
 Get the roughness value of this material. More...
 
virtual std::string RoughnessMap () const override
 Get the URI of the roughness map file. More...
 
virtual void SetDepthCheckEnabled (bool _enabled) override
 Specify if depth buffer checking is enabled. More...
 
virtual void SetDepthWriteEnabled (bool _enabled) override
 Specify if depth buffer writing is enabled. More...
 
virtual void SetDiffuse (const math::Color &_color) override
 Set the diffuse color. More...
 
virtual void SetEmissive (const math::Color &_color) override
 Set the emissive color. More...
 
virtual void SetEmissiveMap (const std::string &_emissiveMap) override
 Set the material emissive map. More...
 
virtual void SetEnvironmentMap (const std::string &_metalnessMap) override
 Set the material environment map. More...
 
virtual void SetMetalness (const float _roughness) override
 Set the metalness value. Only affects material of type MT_PBS. More...
 
virtual void SetMetalnessMap (const std::string &_metalnessMap) override
 Set the material metalness map. More...
 
virtual void SetNormalMap (const std::string &_normalMap) override
 Set the material normal map. More...
 
virtual void SetReceiveShadows (const bool _receiveShadows) override
 Specify if this material receives shadows. More...
 
virtual void SetRoughness (const float _roughness) override
 Set the roughness value. Only affects material of type MT_PBS. More...
 
virtual void SetRoughnessMap (const std::string &_roughnessMap) override
 Set the material roughness map. More...
 
virtual void SetSpecular (const math::Color &_color) override
 Set the specular color. More...
 
virtual void SetTexture (const std::string &_texture) override
 Set the material texture. More...
 
virtual void SetTransparency (const double _transparency) override
 Set the transparency value. More...
 
virtual math::Color Specular () const override
 Get the specular color. More...
 
virtual std::string Texture () const override
 Get the URI of the texture file. More...
 
virtual enum MaterialType Type () const override
 Removes any metalness map mapped to this material. More...
 
- Public Member Functions inherited from BaseMaterial< Ogre2Object >
virtual ~BaseMaterial ()
 
virtual math::Color Ambient () const override
 Get the ambient color. More...
 
virtual bool CastShadows () const override
 Determine if this material casts shadows. More...
 
virtual MaterialPtr Clone (const std::string &_name="") const override
 Clone this material. More...
 
virtual void CopyFrom (const common::Material &_material) override
 Copy properties from given Material. More...
 
virtual void CopyFrom (ConstMaterialPtr _material) override
 Copy properties from given Material. More...
 
virtual bool DepthCheckEnabled () const override
 Determine if depth buffer checking is enabled. More...
 
virtual bool DepthWriteEnabled () const override
 Determine if depth buffer writing is enabled. More...
 
virtual math::Color Diffuse () const override
 Get the diffuse color. More...
 
virtual math::Color Emissive () const override
 Get the emissive color. More...
 
virtual std::string EmissiveMap () const override
 Get the URI of the emissive map file. More...
 
virtual std::string EnvironmentMap () const override
 Get the URI of the environment map file. More...
 
virtual std::string FragmentShader () const override
 Get path to the fragment shader. More...
 
virtual ShaderParamsPtr FragmentShaderParams () override
 Get params for the fragment shader. More...
 
virtual bool HasEmissiveMap () const override
 Determine if this material has an emissive map. More...
 
virtual bool HasEnvironmentMap () const override
 Determine if this material has a environment map. More...
 
virtual bool HasMetalnessMap () const override
 Determine if this material has a metalness map. More...
 
virtual bool HasNormalMap () const override
 Determine if this material has a normal map. More...
 
virtual bool HasRoughnessMap () const override
 Determine if this material has a roughness map. More...
 
virtual bool HasTexture () const override
 Determine if this material has a texture. More...
 
virtual bool LightingEnabled () const override
 Determine if lighting affects this material. More...
 
virtual float Metalness () const override
 Get the metalness value of this material. More...
 
virtual std::string MetalnessMap () const override
 Get the URI of the metalness map file. More...
 
virtual std::string NormalMap () const override
 Get the URI of the normal map file. More...
 
virtual bool ReceiveShadows () const override
 Determine if this material receives shadows. More...
 
virtual bool ReflectionEnabled () const override
 Determine if this material has a reflection. More...
 
virtual double Reflectivity () const override
 Get the reflectivity value. More...
 
virtual float Roughness () const override
 Get the roughness value of this material. More...
 
virtual std::string RoughnessMap () const override
 Get the URI of the roughness map file. More...
 
virtual void SetAmbient (const double _r, const double _g, const double _b, const double _a=1.0) override
 Set the ambient color. More...
 
virtual void SetAmbient (const math::Color &_color) override
 Set the ambient color. More...
 
virtual void SetCastShadows (const bool _castShadows) override
 Specify if this material casts shadows. More...
 
virtual void SetDepthMaterial (const double far, const double near) override
 Configuration for Depth Material. More...
 
virtual void SetDiffuse (const double _r, const double _g, const double _b, const double _a=1.0) override
 Set the diffuse color. More...
 
virtual void SetEmissive (const double _r, const double _g, const double _b, const double _a=1.0) override
 Set the emissive color. More...
 
virtual void SetFragmentShader (const std::string &_path) override
 Set the fragment shader. More...
 
virtual void SetLightingEnabled (const bool _enabled) override
 Specify if lighting affects this material. More...
 
virtual void SetReflectionEnabled (const bool _enabled) override
 Specify if this material has a reflection. More...
 
virtual void SetReflectivity (const double _reflectivity) override
 Set the reflectivity value. More...
 
virtual void SetShaderType (enum ShaderType _type) override
 Set the ShaderType value. More...
 
virtual void SetShininess (const double _shininess) override
 Set the shininess value. More...
 
virtual void SetSpecular (const double _r, const double _g, const double _b, const double _a=1.0) override
 Set the specular color. More...
 
virtual void SetVertexShader (const std::string &_path) override
 Set the vertex shader. More...
 
virtual enum ShaderType ShaderType () const override
 Get the ShaderType value. More...
 
virtual double Shininess () const override
 Get the shininess value. More...
 
virtual math::Color Specular () const override
 Get the specular color. More...
 
virtual std::string Texture () const override
 Get the URI of the texture file. More...
 
virtual double Transparency () const override
 Get the transparency value. More...
 
virtual MaterialType Type () const override
 Removes any metalness map mapped to this material. More...
 
virtual std::string VertexShader () const override
 Get path to the vertex shader. More...
 
virtual ShaderParamsPtr VertexShaderParams () override
 Get params for the vertex shader. More...
 
- Public Member Functions inherited from Material
virtual ~Material ()
 Deconstructor. More...
 
virtual math::Color Ambient () const =0
 Get the ambient color. More...
 
virtual bool CastShadows () const =0
 Determine if this material casts shadows. More...
 
virtual std::string FragmentShader () const =0
 Get path to the fragment shader. More...
 
virtual bool LightingEnabled () const =0
 Determine if lighting affects this material. More...
 
virtual bool ReflectionEnabled () const =0
 Determine if this material has a reflection. More...
 
virtual double Reflectivity () const =0
 Get the reflectivity value. More...
 
virtual enum ShaderType ShaderType () const =0
 Get the ShaderType value. More...
 
virtual double Shininess () const =0
 Get the shininess value. More...
 
virtual double Transparency () const =0
 Get the transparency value. More...
 
virtual std::string VertexShader () const =0
 Get path to the vertex shader. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Destructor. More...
 
virtual unsigned int Id () const =0
 Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More...
 
virtual std::string Name () const =0
 Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More...
 
virtual void PostRender ()=0
 Post process this object and any of its children after rendering. More...
 
virtual ScenePtr Scene () const =0
 Get the Scene that created this object. More...
 
- Public Member Functions inherited from Ogre2Object
virtual ~Ogre2Object ()
 Destructor. More...
 
virtual ScenePtr Scene () const override
 
- Public Member Functions inherited from BaseObject
virtual ~BaseObject ()
 
virtual unsigned int Id () const override
 
virtual std::string Name () const override
 
virtual void PostRender () override
 

Protected Member Functions

 Ogre2Material ()
 Constructor. More...
 
virtual void Init () override
 
virtual void SetTextureMapImpl (const std::string &_texture, Ogre::PbsTextureTypes _type)
 Set the texture map for this material. More...
 
virtual Ogre::TexturePtr Texture (const std::string &_name)
 Get a pointer to the ogre texture by name. More...
 
virtual void UpdateTransparency ()
 Updates the material transparency in the engine, based on transparency and diffuse alpha values. More...
 
- Protected Member Functions inherited from BaseMaterial< Ogre2Object >
 BaseMaterial ()
 
virtual void Reset ()
 
- Protected Member Functions inherited from Ogre2Object
 Ogre2Object ()
 Constructor. More...
 
- Protected Member Functions inherited from BaseObject
 BaseObject ()
 
virtual void Load ()
 

Protected Attributes

std::string emissiveMapName
 Name of the emissive map. More...
 
std::string environmentMapName
 Name of the environment map. More...
 
std::string metalnessMapName
 Name of the metalness map. More...
 
std::string normalMapName
 Name of the normal map. More...
 
Ogre::HlmsPbsDatablock * ogreDatablock = nullptr
 Ogre data block containing all material properties. More...
 
std::string ogreDatablockId
 Unique id assigned to ogre hlms datablock. More...
 
Ogre::HlmsPbs * ogreHlmsPbs = nullptr
 Ogre high level physical based shading object. More...
 
Ogre::MaterialPtr ogreMaterial
 Ogre material. Mainly used for render targets. More...
 
std::string roughnessMapName
 Name of the roughness map. More...
 
std::string textureName
 Name of the texture. More...
 
- Protected Attributes inherited from BaseMaterial< Ogre2Object >
math::Color ambient
 Ambient color. More...
 
bool castShadows
 Set to true to enable object with this material to cast shadows. More...
 
bool depthCheckEnabled
 Flag to indicate if depth buffer checking is enabled. More...
 
bool depthWriteEnabled
 Flag to indicate if depth buffer writing is enabled. More...
 
math::Color diffuse
 Diffuse color. More...
 
math::Color emissive
 Emissive color. More...
 
bool lightingEnabled
 Flag to indicate if dynamic lighting is enabled. More...
 
bool receiveShadows
 True if material receives shadows. More...
 
bool reflectionEnabled
 Flag to indicate if reflection is enabled. More...
 
double reflectivity
 Reflectivity. More...
 
double shininess
 Shininess factor. More...
 
math::Color specular
 Specular color. More...
 
double transparency
 Transparent. 1: fully transparent, 0: opaque. More...
 
- Protected Attributes inherited from Ogre2Object
Ogre2ScenePtr scene
 Pointer to the ogre scene. More...
 
- Protected Attributes inherited from BaseObject
unsigned int id
 
std::string name
 

Detailed Description

Ogre 2.x implementation of the material class.

Constructor & Destructor Documentation

◆ Ogre2Material()

Ogre2Material ( )
protected

Constructor.

◆ ~Ogre2Material()

virtual ~Ogre2Material ( )
virtual

Destructor.

Member Function Documentation

◆ ClearEmissiveMap()

virtual void ClearEmissiveMap ( )
overridevirtual

Removes any emissive map mapped to this material.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ ClearEnvironmentMap()

virtual void ClearEnvironmentMap ( )
overridevirtual

Removes any environment map mapped to this material.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ ClearMetalnessMap()

virtual void ClearMetalnessMap ( )
overridevirtual

Removes any metalness map mapped to this material.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ ClearNormalMap()

virtual void ClearNormalMap ( )
overridevirtual

Removes any normal map mapped to this material.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ ClearRoughnessMap()

virtual void ClearRoughnessMap ( )
overridevirtual

Removes any roughness map mapped to this material.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ ClearTexture()

virtual void ClearTexture ( )
overridevirtual

Removes any texture mapped to this material.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ Datablock()

virtual Ogre::HlmsPbsDatablock* Datablock ( ) const
virtual

Return ogre Hlms material datablock.

Returns
Ogre Hlms datablock

◆ DepthCheckEnabled()

virtual bool DepthCheckEnabled ( ) const
overridevirtual

Determine if depth buffer checking is enabled.

Returns
True if depth check is enabled

Implements Material.

◆ DepthWriteEnabled()

virtual bool DepthWriteEnabled ( ) const
overridevirtual

Determine if depth buffer writing is enabled.

Returns
True if depth buffer writing is enabled

Implements Material.

◆ Destroy()

virtual void Destroy ( )
overridevirtual

Reimplemented from BaseObject.

◆ Diffuse()

virtual math::Color Diffuse ( ) const
overridevirtual

Get the diffuse color.

Returns
The diffuse color

Implements Material.

◆ Emissive()

virtual math::Color Emissive ( ) const
overridevirtual

Get the emissive color.

Returns
The emissive color

Implements Material.

◆ EmissiveMap()

virtual std::string EmissiveMap ( ) const
overridevirtual

Get the URI of the emissive map file.

Returns
URI of the emissive map file

Implements Material.

◆ EnvironmentMap()

virtual std::string EnvironmentMap ( ) const
overridevirtual

Get the URI of the environment map file.

Returns
URI of the environment map file

Implements Material.

◆ HasEmissiveMap()

virtual bool HasEmissiveMap ( ) const
overridevirtual

Determine if this material has an emissive map.

Returns
True if this material has an emissive map

Implements Material.

◆ HasEnvironmentMap()

virtual bool HasEnvironmentMap ( ) const
overridevirtual

Determine if this material has a environment map.

Returns
True if this material has a environment map

Implements Material.

◆ HasMetalnessMap()

virtual bool HasMetalnessMap ( ) const
overridevirtual

Determine if this material has a metalness map.

Returns
True if this material has a metalness map

Implements Material.

◆ HasNormalMap()

virtual bool HasNormalMap ( ) const
overridevirtual

Determine if this material has a normal map.

Returns
True if this material has a normal map

Implements Material.

◆ HasRoughnessMap()

virtual bool HasRoughnessMap ( ) const
overridevirtual

Determine if this material has a roughness map.

Returns
True if this material has a roughness map

Implements Material.

◆ HasTexture()

virtual bool HasTexture ( ) const
overridevirtual

Determine if this material has a texture.

Returns
True if this material has a texture

Implements Material.

◆ Init()

virtual void Init ( )
overrideprotectedvirtual

Reimplemented from BaseObject.

◆ Material()

virtual Ogre::MaterialPtr Material ( )
virtual

Return ogre low level material.

Returns
Ogre material pointer

◆ Metalness()

virtual float Metalness ( ) const
overridevirtual

Get the metalness value of this material.

Returns
Material metalness

Implements Material.

◆ MetalnessMap()

virtual std::string MetalnessMap ( ) const
overridevirtual

Get the URI of the metalness map file.

Returns
URI of the metalness map file

Implements Material.

◆ NormalMap()

virtual std::string NormalMap ( ) const
overridevirtual

Get the URI of the normal map file.

Returns
URI of the normal map file

Implements Material.

◆ PreRender()

virtual void PreRender ( )
overridevirtual

Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.

Reimplemented from BaseMaterial< Ogre2Object >.

◆ ReceiveShadows()

virtual bool ReceiveShadows ( ) const
overridevirtual

Determine if this material receives shadows.

Returns
True if this material receives shadows

Implements Material.

◆ Roughness()

virtual float Roughness ( ) const
overridevirtual

Get the roughness value of this material.

Returns
Material roughness

Implements Material.

◆ RoughnessMap()

virtual std::string RoughnessMap ( ) const
overridevirtual

Get the URI of the roughness map file.

Returns
URI of the roughness map file

Implements Material.

◆ SetDepthCheckEnabled()

virtual void SetDepthCheckEnabled ( bool  _enabled)
overridevirtual

Specify if depth buffer checking is enabled.

Parameters
[in]_enabledTrue if depth check is enabled

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetDepthWriteEnabled()

virtual void SetDepthWriteEnabled ( bool  _enabled)
overridevirtual

Specify if depth buffer writing is enabled.

Parameters
[in]_enabledTrue if depth buffer writing is enabled

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetDiffuse()

virtual void SetDiffuse ( const math::Color _color)
overridevirtual

Set the diffuse color.

Parameters
[in]_colorNew diffuse color

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetEmissive()

virtual void SetEmissive ( const math::Color _color)
overridevirtual

Set the emissive color.

Parameters
[in]_colorNew emissive color

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetEmissiveMap()

virtual void SetEmissiveMap ( const std::string _emissiveMap)
overridevirtual

Set the material emissive map.

Parameters
[in]_emissiveMapURI of the new emissive map file

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetEnvironmentMap()

virtual void SetEnvironmentMap ( const std::string _metalnessMap)
overridevirtual

Set the material environment map.

Parameters
[in]_metalnessMapURI of the new environment map file

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetMetalness()

virtual void SetMetalness ( const float  _metalness)
overridevirtual

Set the metalness value. Only affects material of type MT_PBS.

Parameters
[in]_metalnessMetalness to set to

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetMetalnessMap()

virtual void SetMetalnessMap ( const std::string _metalnessMap)
overridevirtual

Set the material metalness map.

Parameters
[in]_metalnessMapURI of the new metalness map file

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetNormalMap()

virtual void SetNormalMap ( const std::string _normalMap)
overridevirtual

Set the material normal map.

Parameters
[in]_normalMapURI of the new normal map file

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetReceiveShadows()

virtual void SetReceiveShadows ( const bool  _receiveShadows)
overridevirtual

Specify if this material receives shadows.

Parameters
[in]_receiveShadowsTrue if this material receives shadows

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetRoughness()

virtual void SetRoughness ( const float  _roughness)
overridevirtual

Set the roughness value. Only affects material of type MT_PBS.

Parameters
[in]_roughnessRoughness to set to

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetRoughnessMap()

virtual void SetRoughnessMap ( const std::string _roughnessMap)
overridevirtual

Set the material roughness map.

Parameters
[in]_roughnessMapURI of the new roughness map file

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetSpecular()

virtual void SetSpecular ( const math::Color _color)
overridevirtual

Set the specular color.

Parameters
[in]_colorNew specular color

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetTexture()

virtual void SetTexture ( const std::string _texture)
overridevirtual

Set the material texture.

Parameters
[in]_textureURI of the new texture file

Reimplemented from BaseMaterial< Ogre2Object >.

◆ SetTextureMapImpl()

virtual void SetTextureMapImpl ( const std::string _texture,
Ogre::PbsTextureTypes  _type 
)
protectedvirtual

Set the texture map for this material.

Parameters
[in]_textureName of the texture.
[in]_typeType of texture, i.e. diffuse, normal, roughness, metalness

◆ SetTransparency()

virtual void SetTransparency ( const double  _transparency)
overridevirtual

Set the transparency value.

Parameters
[in]_transparencyNew transparency value

Reimplemented from BaseMaterial< Ogre2Object >.

◆ Specular()

virtual math::Color Specular ( ) const
overridevirtual

Get the specular color.

Returns
The specular color

Implements Material.

◆ Texture() [1/2]

virtual std::string Texture ( ) const
overridevirtual

Get the URI of the texture file.

Returns
URI of the texture file

Implements Material.

◆ Texture() [2/2]

virtual Ogre::TexturePtr Texture ( const std::string _name)
protectedvirtual

Get a pointer to the ogre texture by name.

Returns
Ogre texture

◆ Type()

virtual enum MaterialType Type ( ) const
overridevirtual

Removes any metalness map mapped to this material.

Implements Material.

◆ UpdateTransparency()

virtual void UpdateTransparency ( )
protectedvirtual

Updates the material transparency in the engine, based on transparency and diffuse alpha values.

Member Data Documentation

◆ emissiveMapName

std::string emissiveMapName
protected

Name of the emissive map.

◆ environmentMapName

std::string environmentMapName
protected

Name of the environment map.

◆ metalnessMapName

std::string metalnessMapName
protected

Name of the metalness map.

◆ normalMapName

std::string normalMapName
protected

Name of the normal map.

◆ ogreDatablock

Ogre::HlmsPbsDatablock* ogreDatablock = nullptr
protected

Ogre data block containing all material properties.

◆ ogreDatablockId

std::string ogreDatablockId
protected

Unique id assigned to ogre hlms datablock.

◆ ogreHlmsPbs

Ogre::HlmsPbs* ogreHlmsPbs = nullptr
protected

Ogre high level physical based shading object.

◆ ogreMaterial

Ogre::MaterialPtr ogreMaterial
protected

Ogre material. Mainly used for render targets.

◆ roughnessMapName

std::string roughnessMapName
protected

Name of the roughness map.

◆ textureName

std::string textureName
protected

Name of the texture.


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