Gazebo Rendering

API Reference

7.4.2

#include <OgreMaterial.hh>

Public Member Functions

virtual ~OgreMaterial ()
 
virtual math::Color Ambient () const override
 Get the ambient color. More...
 
virtual bool CastShadows () const override
 Determine if this material casts shadows. More...
 
virtual void ClearNormalMap () override
 Removes any normal map mapped to this material. More...
 
virtual void ClearTexture () override
 Removes any texture mapped to this 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 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 FragmentShader () const override
 Get path to the fragment shader. More...
 
virtual ShaderParamsPtr FragmentShaderParams () override
 Get params for the fragment shader. More...
 
virtual bool HasNormalMap () const override
 Determine if this material has a normal 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 Ogre::MaterialPtr Material () const
 
virtual std::string NormalMap () const override
 Get the URI of the normal map file. More...
 
virtual std::shared_ptr< const common::ImageNormalMapData () const override
 Get the normal map data. 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 bool ReflectionEnabled () const override
 Determine if this material has a reflection. More...
 
virtual double Reflectivity () const override
 Get the reflectivity value. More...
 
virtual float RenderOrder () const override
 Get the render order value of this material. More...
 
virtual void SetAlphaFromTexture (bool _enabled, double _alpha=0.5, bool _twoSided=true) override
 Set the material to use the alpha channel from the textures. 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 SetDepthCheckEnabled (bool _enabled) override
 Specify if depth buffer checking is enabled. More...
 
virtual void SetDepthMaterial (const double far, const double near) override
 Configuration for Depth Material. 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 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 SetNormalMap (const std::string &_normalMap, const std::shared_ptr< const common::Image > &_img=nullptr) override
 Set the material normal map. More...
 
virtual void SetReceiveShadows (const bool _receiveShadows) override
 Specify if this material receives shadows. 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 SetRenderOrder (const float _renderOrder) override
 Set the render order. When polygons are coplanar, you can get problems with 'depth fighting' where the pixels from the two polys compete for the same screen pixel. This param help to avoid this problem. 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 math::Color &_color) override
 Set the specular color. More...
 
virtual void SetTexture (const std::string &_texture, const std::shared_ptr< const common::Image > &_img=nullptr) override
 Set the material texture. More...
 
virtual void SetTransparency (const double _transparency) override
 Set the transparency value. 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 std::shared_ptr< const common::ImageTextureData () const override
 Get the texture data. More...
 
virtual double Transparency () const override
 Get the transparency value. 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 BaseMaterial< OgreObject >
virtual ~BaseMaterial ()
 
double AlphaThreshold () const override
 Get the alpha threshold. More...
 
virtual math::Color Ambient () const override
 Get the ambient color. More...
 
virtual bool CastShadows () const override
 Determine if this material casts shadows. 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 ClearLightMap () override
 Removes any light map mapped to this material. More...
 
virtual void ClearMetalnessMap () override
 Removes any metalness map mapped to this material. More...
 
virtual void ClearRoughnessMap () override
 Removes any roughness map mapped to this material. 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::shared_ptr< const common::ImageEmissiveMapData () const override
 Get the emissive map data. More...
 
virtual std::string EnvironmentMap () const override
 Get the URI of the environment map file. More...
 
virtual std::shared_ptr< const common::ImageEnvironmentMapData () const override
 Get the environment map data. More...
 
virtual std::string FragmentShader () const override
 Get path to 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 HasLightMap () const override
 Determine if this material has a light 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 std::string LightMap () const override
 Get the URI of the light map file. More...
 
virtual std::shared_ptr< const common::ImageLightMapData () const override
 Get the light map data. More...
 
virtual unsigned int LightMapTexCoordSet () const override
 Get the texture coordinate set used by lightmap. 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::shared_ptr< const common::ImageMetalnessMapData () const override
 Get the metalness map data. More...
 
virtual std::string NormalMap () const override
 Get the URI of the normal map file. More...
 
virtual std::shared_ptr< const common::ImageNormalMapData () const override
 Get the normal map data. 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 RenderOrder () const override
 Get the render order value of this material. 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 std::shared_ptr< const common::ImageRoughnessMapData () const override
 Get the roughness map data. 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 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 SetEmissiveMap (const std::string &_emissiveMap, const std::shared_ptr< const common::Image > &_img) override
 Set the material emissive map. More...
 
virtual void SetEnvironmentMap (const std::string &_environmentMap, const std::shared_ptr< const common::Image > &_img) override
 Set the material environment map. More...
 
virtual void SetLightMap (const std::string &_lightMap, const std::shared_ptr< const common::Image > &_img, unsigned int _uvSet=0u) override
 Set the material light map from an image loaded in memory. More...
 
virtual void SetMetalness (const float _metalness) override
 Set the metalness value. Only affects material of type MT_PBS. More...
 
virtual void SetMetalnessMap (const std::string &_metalnessMap, const std::shared_ptr< const common::Image > &_img) override
 Set the material metalness map. 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, const std::shared_ptr< const common::Image > &_img) override
 Set the material roughness map. 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 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...
 
bool TextureAlphaEnabled () const override
 Get the enable alpha from textures. More...
 
virtual std::shared_ptr< const common::ImageTextureData () const override
 Get the texture data. More...
 
virtual double Transparency () const override
 Get the transparency value. More...
 
bool TwoSidedEnabled () const override
 Get the enable two sided rendering 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...
 
- Public Member Functions inherited from Material
virtual ~Material ()
 Destructor. More...
 
virtual double AlphaThreshold () const =0
 Get the alpha threshold. More...
 
virtual std::string EmissiveMap () const =0
 Get the URI of the emissive map file. More...
 
virtual std::shared_ptr< const common::ImageEmissiveMapData () const =0
 Get the emissive map data. More...
 
virtual std::string EnvironmentMap () const =0
 Get the URI of the environment map file. More...
 
virtual std::shared_ptr< const common::ImageEnvironmentMapData () const =0
 Get the environment map data. More...
 
virtual bool HasEmissiveMap () const =0
 Determine if this material has an emissive map. More...
 
virtual bool HasEnvironmentMap () const =0
 Determine if this material has a environment map. More...
 
virtual bool HasLightMap () const =0
 Determine if this material has a light map. More...
 
virtual bool HasMetalnessMap () const =0
 Determine if this material has a metalness map. More...
 
virtual bool HasRoughnessMap () const =0
 Determine if this material has a roughness map. More...
 
virtual std::string LightMap () const =0
 Get the URI of the light map file. More...
 
virtual std::shared_ptr< const common::ImageLightMapData () const =0
 Get the light map data. More...
 
virtual unsigned int LightMapTexCoordSet () const =0
 Get the texture coordinate set used by lightmap. More...
 
virtual float Metalness () const =0
 Get the metalness value of this material. More...
 
virtual std::string MetalnessMap () const =0
 Get the URI of the metalness map file. More...
 
virtual std::shared_ptr< const common::ImageMetalnessMapData () const =0
 Get the metalness map data. More...
 
virtual float Roughness () const =0
 Get the roughness value of this material. More...
 
virtual std::string RoughnessMap () const =0
 Get the URI of the roughness map file. More...
 
virtual std::shared_ptr< const common::ImageRoughnessMapData () const =0
 Get the roughness map data. More...
 
virtual void SetEmissiveMap (const std::string &_emissiveMap)
 Set the material emissive map. More...
 
virtual void SetEnvironmentMap (const std::string &_environmentMap)
 Set the material environment map. More...
 
virtual void SetLightMap (const std::string &_lightMap, unsigned int _uvSet=0u)
 Set the material light map. More...
 
virtual void SetMetalnessMap (const std::string &_metalnessMap)
 Set the material metalness map. More...
 
virtual void SetNormalMap (const std::string &_normalMap)
 Set the material normal map. More...
 
virtual void SetRoughnessMap (const std::string &_roughnessMap)
 Set the material roughness map. More...
 
virtual void SetTexture (const std::string &_texture)
 Set the material texture. More...
 
virtual bool TextureAlphaEnabled () const =0
 Get the enable alpha from textures. More...
 
virtual bool TwoSidedEnabled () const =0
 Get the enable two sided rendering value. More...
 
virtual enum MaterialType Type () const =0
 Removes any metalness map mapped to this material. 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 OgreObject
virtual ~OgreObject ()
 
virtual ScenePtr Scene () const
 
- 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

 OgreMaterial ()
 
virtual Ogre::TexturePtr CreateTexture (const std::string &_name)
 
virtual void Init () override
 
virtual void LoadOneImage (const std::string &_name, Ogre::Image &_image)
 
void SetTextureDataImpl (const std::string &_texture, const std::shared_ptr< const common::Image > &_img)
 Set the texture for this material from an image that was loaded from memory. More...
 
virtual void SetTextureImpl (const std::string &_texture)
 Set the texture for this material. More...
 
virtual Ogre::TexturePtr Texture (const std::string &_name)
 
virtual void UpdateColorOperation ()
 
void UpdateShaderParams ()
 bind shader parameters that have changed More...
 
void UpdateShaderParams (ConstShaderParamsPtr _params, Ogre::GpuProgramParametersSharedPtr _ogreParams)
 Transfer params from gz-rendering type to ogre type. More...
 
virtual void UpdateTransparency ()
 
- Protected Member Functions inherited from BaseMaterial< OgreObject >
 BaseMaterial ()
 
virtual void Reset ()
 
- Protected Member Functions inherited from OgreObject
 OgreObject ()
 
- Protected Member Functions inherited from BaseObject
 BaseObject ()
 
virtual void Load ()
 

Protected Attributes

ShaderParamsPtr fragmentShaderParams
 Parameters to be bound to the fragment shader. More...
 
std::string fragmentShaderPath
 Path to fragment shader program. More...
 
std::shared_ptr< const common::ImagenormalMapData
 Normal map image if it was passed as binary data. More...
 
std::string normalMapName
 
Ogre::String ogreGroup
 
Ogre::MaterialPtr ogreMaterial
 
Ogre::Pass * ogrePass = nullptr
 
Ogre::Technique * ogreTechnique = nullptr
 
Ogre::TextureUnitState * ogreTexState = nullptr
 
enum ShaderType shaderType = ST_PIXEL
 
std::shared_ptr< const common::ImagetextureData
 Diffuse texture image if it was passed as binary data. More...
 
std::string textureName
 
ShaderParamsPtr vertexShaderParams
 Parameters to be bound to the vertex shader. More...
 
std::string vertexShaderPath
 Path to vertex shader program. More...
 
- Protected Attributes inherited from BaseMaterial< OgreObject >
double alphaThreshold
 Threshold for alpha channel rejection. More...
 
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 renderOrder
 Material render order. More...
 
double shininess
 Shininess factor. More...
 
math::Color specular
 Specular color. More...
 
bool textureAlphaEnabled
 Enable alpha channel based texture transparency. More...
 
double transparency
 Transparent. 1: fully transparent, 0: opaque. More...
 
bool twoSidedEnabled
 Enable two sided rendering. More...
 
- Protected Attributes inherited from OgreObject
OgreScenePtr scene
 
- Protected Attributes inherited from BaseObject
unsigned int id
 
std::string name
 

Constructor & Destructor Documentation

◆ OgreMaterial()

OgreMaterial ( )
protected

◆ ~OgreMaterial()

virtual ~OgreMaterial ( )
virtual

Member Function Documentation

◆ Ambient()

virtual math::Color Ambient ( ) const
overridevirtual

Get the ambient color.

Returns
The ambient color

Implements Material.

◆ CastShadows()

virtual bool CastShadows ( ) const
overridevirtual

Determine if this material casts shadows.

Returns
True if this material casts shadows

Implements Material.

◆ ClearNormalMap()

virtual void ClearNormalMap ( )
overridevirtual

Removes any normal map mapped to this material.

Reimplemented from BaseMaterial< OgreObject >.

◆ ClearTexture()

virtual void ClearTexture ( )
overridevirtual

Removes any texture mapped to this material.

Reimplemented from BaseMaterial< OgreObject >.

◆ CreateTexture()

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

◆ 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.

◆ FragmentShader()

virtual std::string FragmentShader ( ) const
overridevirtual

Get path to the fragment shader.

Returns
Path to fragment shader

Implements Material.

◆ FragmentShaderParams()

virtual ShaderParamsPtr FragmentShaderParams ( )
overridevirtual

Get params for the fragment shader.

Returns
editable parameters

Reimplemented from BaseMaterial< OgreObject >.

◆ 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.

◆ 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.

◆ LightingEnabled()

virtual bool LightingEnabled ( ) const
overridevirtual

Determine if lighting affects this material.

Returns
True if lighting affects this material

Implements Material.

◆ LoadOneImage()

virtual void LoadOneImage ( const std::string _name,
Ogre::Image &  _image 
)
protectedvirtual

◆ Material()

virtual Ogre::MaterialPtr Material ( ) const
virtual

◆ NormalMap()

virtual std::string NormalMap ( ) const
overridevirtual

Get the URI of the normal map file.

Returns
URI of the normal map file

Implements Material.

◆ NormalMapData()

virtual std::shared_ptr<const common::Image> NormalMapData ( ) const
overridevirtual

Get the normal map data.

Returns
Pointer to the common::Image with the data if the texture was loaded from memory

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< OgreObject >.

◆ ReceiveShadows()

virtual bool ReceiveShadows ( ) const
overridevirtual

Determine if this material receives shadows.

Returns
True if this material receives shadows

Implements Material.

◆ ReflectionEnabled()

virtual bool ReflectionEnabled ( ) const
overridevirtual

Determine if this material has a reflection.

Returns
True if this material has a reflection

Implements Material.

◆ Reflectivity()

virtual double Reflectivity ( ) const
overridevirtual

Get the reflectivity value.

Returns
The reflectivity value

Implements Material.

◆ RenderOrder()

virtual float RenderOrder ( ) const
overridevirtual

Get the render order value of this material.

Returns
Material render order

Implements Material.

◆ SetAlphaFromTexture()

virtual void SetAlphaFromTexture ( bool  _enabled,
double  _alpha = 0.5,
bool  _twoSided = true 
)
overridevirtual

Set the material to use the alpha channel from the textures.

Parameters
[in]_enabledEnable alpha channel based rendering
[in]_alphaSet the alpha threshold value
[in]_twoSidedEnable two sided rendering

Reimplemented from BaseMaterial< OgreObject >.

◆ SetAmbient()

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

Set the ambient color.

Parameters
[in]_colorNew ambient color

Reimplemented from BaseMaterial< OgreObject >.

◆ SetCastShadows()

virtual void SetCastShadows ( const bool  _castShadows)
overridevirtual

Specify if this material casts shadows.

Parameters
[in]_castShadowsTrue if this material casts shadows

Reimplemented from BaseMaterial< OgreObject >.

◆ 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< OgreObject >.

◆ SetDepthMaterial()

virtual void SetDepthMaterial ( const double  far,
const double  near 
)
overridevirtual

Configuration for Depth Material.

Parameters
[in]farFar distance for normalized output
[in]nearNear distance for normalized output

Reimplemented from BaseMaterial< OgreObject >.

◆ 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< OgreObject >.

◆ SetDiffuse()

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

Set the diffuse color.

Parameters
[in]_colorNew diffuse color

Reimplemented from BaseMaterial< OgreObject >.

◆ SetEmissive()

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

Set the emissive color.

Parameters
[in]_colorNew emissive color

Reimplemented from BaseMaterial< OgreObject >.

◆ SetFragmentShader()

virtual void SetFragmentShader ( const std::string _path)
overridevirtual

Set the fragment shader.

Parameters
[in]_pathpath to a file containing a glsl shader

Reimplemented from BaseMaterial< OgreObject >.

◆ SetLightingEnabled()

virtual void SetLightingEnabled ( const bool  _enabled)
overridevirtual

Specify if lighting affects this material.

Parameters
[in]_enabledTrue if lighting affects this material

Reimplemented from BaseMaterial< OgreObject >.

◆ SetNormalMap()

virtual void SetNormalMap ( const std::string _normalMap,
const std::shared_ptr< const common::Image > &  _img = nullptr 
)
overridevirtual

Set the material normal map.

Parameters
[in]_normalMapURI of the new normal map file, or identifying name if map was set from raw data
[in]_imgImage data, nullptr if the image should be loaded from a file

Reimplemented from BaseMaterial< OgreObject >.

◆ 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< OgreObject >.

◆ SetReflectionEnabled()

virtual void SetReflectionEnabled ( const bool  _enabled)
overridevirtual

Specify if this material has a reflection.

Parameters
[in]_enabledTrue if this material has a reflection

Reimplemented from BaseMaterial< OgreObject >.

◆ SetReflectivity()

virtual void SetReflectivity ( const double  _reflectivity)
overridevirtual

Set the reflectivity value.

Parameters
[in]_reflectivityNew reflectivity value

Reimplemented from BaseMaterial< OgreObject >.

◆ SetRenderOrder()

virtual void SetRenderOrder ( const float  _renderOrder)
overridevirtual

Set the render order. When polygons are coplanar, you can get problems with 'depth fighting' where the pixels from the two polys compete for the same screen pixel. This param help to avoid this problem.

Parameters
[in]_renderOrderRender order to set to

Reimplemented from BaseMaterial< OgreObject >.

◆ SetShaderType()

virtual void SetShaderType ( enum ShaderType  _type)
overridevirtual

Set the ShaderType value.

Parameters
[in]_typeNew ShaderType value

Reimplemented from BaseMaterial< OgreObject >.

◆ SetShininess()

virtual void SetShininess ( const double  _shininess)
overridevirtual

Set the shininess value.

Parameters
[in]_shininessNew shininess value

Reimplemented from BaseMaterial< OgreObject >.

◆ SetSpecular()

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

Set the specular color.

Parameters
[in]_colorNew specular color

Reimplemented from BaseMaterial< OgreObject >.

◆ SetTexture()

virtual void SetTexture ( const std::string _texture,
const std::shared_ptr< const common::Image > &  _img = nullptr 
)
overridevirtual

Set the material texture.

Parameters
[in]_textureURI of the new texture file or identifying name if _img is set
[in]_imgImage data, nullptr if the image should be loaded from a file

Reimplemented from BaseMaterial< OgreObject >.

◆ SetTextureDataImpl()

void SetTextureDataImpl ( const std::string _texture,
const std::shared_ptr< const common::Image > &  _img 
)
protected

Set the texture for this material from an image that was loaded from memory.

Parameters
[in]_textureName of the texture.
[in]_imgcommon::Image containing the texture data

◆ SetTextureImpl()

virtual void SetTextureImpl ( const std::string _texture)
protectedvirtual

Set the texture for this material.

Parameters
[in]_textureName of the texture.

◆ SetTransparency()

virtual void SetTransparency ( const double  _transparency)
overridevirtual

Set the transparency value.

Parameters
[in]_transparencyNew transparency value

Reimplemented from BaseMaterial< OgreObject >.

◆ SetVertexShader()

virtual void SetVertexShader ( const std::string _path)
overridevirtual

Set the vertex shader.

Parameters
[in]_pathpath to a file containing a glsl shader

Reimplemented from BaseMaterial< OgreObject >.

◆ ShaderType()

virtual enum ShaderType ShaderType ( ) const
overridevirtual

Get the ShaderType value.

Returns
The ShaderType value

Implements Material.

◆ Shininess()

virtual double Shininess ( ) const
overridevirtual

Get the shininess value.

Returns
The shininess value

Implements Material.

◆ 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

◆ TextureData()

virtual std::shared_ptr<const common::Image> TextureData ( ) const
overridevirtual

Get the texture data.

Returns
Pointer to the common::Image with the data if the texture was loaded from memory

Implements Material.

◆ Transparency()

virtual double Transparency ( ) const
overridevirtual

Get the transparency value.

Returns
The transparency value

Implements Material.

◆ UpdateColorOperation()

virtual void UpdateColorOperation ( )
protectedvirtual

◆ UpdateShaderParams() [1/2]

void UpdateShaderParams ( )
protected

bind shader parameters that have changed

◆ UpdateShaderParams() [2/2]

void UpdateShaderParams ( ConstShaderParamsPtr  _params,
Ogre::GpuProgramParametersSharedPtr  _ogreParams 
)
protected

Transfer params from gz-rendering type to ogre type.

Parameters
[in]_paramsGazebo Rendering params
[out]_ogreParamsogre type for holding params

◆ UpdateTransparency()

virtual void UpdateTransparency ( )
protectedvirtual

◆ VertexShader()

virtual std::string VertexShader ( ) const
overridevirtual

Get path to the vertex shader.

Returns
Path to vertex shader

Implements Material.

◆ VertexShaderParams()

virtual ShaderParamsPtr VertexShaderParams ( )
overridevirtual

Get params for the vertex shader.

Returns
editable parameters

Reimplemented from BaseMaterial< OgreObject >.

Member Data Documentation

◆ fragmentShaderParams

ShaderParamsPtr fragmentShaderParams
protected

Parameters to be bound to the fragment shader.

◆ fragmentShaderPath

std::string fragmentShaderPath
protected

Path to fragment shader program.

◆ normalMapData

std::shared_ptr<const common::Image> normalMapData
protected

Normal map image if it was passed as binary data.

◆ normalMapName

std::string normalMapName
protected

◆ ogreGroup

Ogre::String ogreGroup
protected

◆ ogreMaterial

Ogre::MaterialPtr ogreMaterial
protected

◆ ogrePass

Ogre::Pass* ogrePass = nullptr
protected

◆ ogreTechnique

Ogre::Technique* ogreTechnique = nullptr
protected

◆ ogreTexState

Ogre::TextureUnitState* ogreTexState = nullptr
protected

◆ shaderType

enum ShaderType shaderType = ST_PIXEL
protected

◆ textureData

std::shared_ptr<const common::Image> textureData
protected

Diffuse texture image if it was passed as binary data.

◆ textureName

std::string textureName
protected

◆ vertexShaderParams

ShaderParamsPtr vertexShaderParams
protected

Parameters to be bound to the vertex shader.

◆ vertexShaderPath

std::string vertexShaderPath
protected

Path to vertex shader program.


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