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 pbs 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 |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. 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 void | FillUnlitDatablock (Ogre::HlmsUnlitDatablock *_datablock) const |
Fill the input unlit datablock with current material properties from the pbs datablock. 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 | 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 | 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 &_name) override |
Set the material emissive map. More... | |
virtual void | SetEnvironmentMap (const std::string &_name) 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 &_name) override |
Set the material metalness map. More... | |
virtual void | SetNormalMap (const std::string &_name) 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 &_name) 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 &_name) 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... | |
virtual Ogre::HlmsUnlitDatablock * | UnlitDatablock () |
Return ogre Hlms material unlit datablock. More... | |
Public Member Functions inherited from BaseMaterial< Ogre2Object > | |
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 MaterialPtr | Clone (const std::string &_name="") const override |
Clone this material. More... | |
virtual void | CopyFrom (ConstMaterialPtr _material) override |
Copy properties from given Material. More... | |
virtual void | CopyFrom (const common::Material &_material) override |
Copy properties from given Material. 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 | LightingEnabled () const override |
Determine if lighting affects this material. 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 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 _cast) 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) 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... | |
bool | TextureAlphaEnabled () const override |
Get the enable alpha from textures. More... | |
virtual double | Transparency () const override |
Get the transparency value. More... | |
bool | TwoSidedEnabled () const override |
Get the enable two sided rendering 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 Material | |
virtual | ~Material () |
Deconstructor. More... | |
Public Member Functions inherited from Object | |
virtual | ~Object () |
Destructor. More... | |
Public Member Functions inherited from Ogre2Object | |
virtual | ~Ogre2Object () |
Destructor. More... | |
virtual ScenePtr | Scene () const override |
Get the Scene that created this object. More... | |
Public Member Functions inherited from BaseObject | |
virtual | ~BaseObject () |
virtual unsigned int | Id () const override |
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 override |
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 () override |
Post process this object and any of its children after rendering. More... | |
Public Member Functions inherited from enable_shared_from_this< BaseObject > | |
T | enable_shared_from_this (T... args) |
T | ~enable_shared_from_this (T... args) |
T | operator= (T... args) |
T | shared_from_this (T... args) |
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 pbs 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... | |
Ogre::HlmsUnlitDatablock * | ogreUnlitDatablock = nullptr |
Ogre data block containing all unlit material properties. More... | |
std::string | roughnessMapName |
Name of the roughness map. More... | |
std::string | textureName |
Name of the texture. More... | |
Protected Attributes inherited from BaseMaterial< Ogre2Object > | |
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 | 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 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()
|
protected |
Constructor.
◆ ~Ogre2Material()
|
virtual |
Destructor.
Member Function Documentation
◆ ClearEmissiveMap()
|
overridevirtual |
Removes any emissive map mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ ClearEnvironmentMap()
|
overridevirtual |
Removes any environment map mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ ClearMetalnessMap()
|
overridevirtual |
Removes any metalness map mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ ClearNormalMap()
|
overridevirtual |
Removes any normal map mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ ClearRoughnessMap()
|
overridevirtual |
Removes any roughness map mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ ClearTexture()
|
overridevirtual |
Removes any texture mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ Datablock()
|
virtual |
Return ogre Hlms material pbs datablock.
- Returns
- Ogre Hlms pbs datablock
◆ DepthCheckEnabled()
|
overridevirtual |
Determine if depth buffer checking is enabled.
- Returns
- True if depth check is enabled
Reimplemented from BaseMaterial< Ogre2Object >.
◆ DepthWriteEnabled()
|
overridevirtual |
Determine if depth buffer writing is enabled.
- Returns
- True if depth buffer writing is enabled
Reimplemented from BaseMaterial< Ogre2Object >.
◆ Destroy()
|
overridevirtual |
Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
Reimplemented from BaseObject.
◆ Diffuse()
|
overridevirtual |
◆ Emissive()
|
overridevirtual |
◆ EmissiveMap()
|
overridevirtual |
Get the URI of the emissive map file.
- Returns
- URI of the emissive map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ EnvironmentMap()
|
overridevirtual |
Get the URI of the environment map file.
- Returns
- URI of the environment map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ FillUnlitDatablock()
|
virtual |
Fill the input unlit datablock with current material properties from the pbs datablock.
- Parameters
-
[in] _datablock Unlit datablock to fill
◆ HasEmissiveMap()
|
overridevirtual |
Determine if this material has an emissive map.
- Returns
- True if this material has an emissive map
Reimplemented from BaseMaterial< Ogre2Object >.
◆ HasEnvironmentMap()
|
overridevirtual |
Determine if this material has a environment map.
- Returns
- True if this material has a environment map
Reimplemented from BaseMaterial< Ogre2Object >.
◆ HasMetalnessMap()
|
overridevirtual |
Determine if this material has a metalness map.
- Returns
- True if this material has a metalness map
Reimplemented from BaseMaterial< Ogre2Object >.
◆ HasNormalMap()
|
overridevirtual |
Determine if this material has a normal map.
- Returns
- True if this material has a normal map
Reimplemented from BaseMaterial< Ogre2Object >.
◆ HasRoughnessMap()
|
overridevirtual |
Determine if this material has a roughness map.
- Returns
- True if this material has a roughness map
Reimplemented from BaseMaterial< Ogre2Object >.
◆ HasTexture()
|
overridevirtual |
Determine if this material has a texture.
- Returns
- True if this material has a texture
Reimplemented from BaseMaterial< Ogre2Object >.
◆ Init()
|
overrideprotectedvirtual |
Reimplemented from BaseObject.
◆ Material()
|
virtual |
Return ogre low level material.
- Returns
- Ogre material pointer
◆ Metalness()
|
overridevirtual |
Get the metalness value of this material.
- Returns
- Material metalness
Reimplemented from BaseMaterial< Ogre2Object >.
◆ MetalnessMap()
|
overridevirtual |
Get the URI of the metalness map file.
- Returns
- URI of the metalness map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ NormalMap()
|
overridevirtual |
Get the URI of the normal map file.
- Returns
- URI of the normal map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ 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()
|
overridevirtual |
Determine if this material receives shadows.
- Returns
- True if this material receives shadows
Reimplemented from BaseMaterial< Ogre2Object >.
◆ Roughness()
|
overridevirtual |
Get the roughness value of this material.
- Returns
- Material roughness
Reimplemented from BaseMaterial< Ogre2Object >.
◆ RoughnessMap()
|
overridevirtual |
Get the URI of the roughness map file.
- Returns
- URI of the roughness map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetAlphaFromTexture()
|
overridevirtual |
Set the material to use the alpha channel from the textures.
- Parameters
-
[in] _enabled Enable alpha channel based rendering [in] _alpha Set the alpha threshold value [in] _twoSided Enable two sided rendering
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetDepthCheckEnabled()
|
overridevirtual |
Specify if depth buffer checking is enabled.
- Parameters
-
[in] _enabled True if depth check is enabled
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetDepthWriteEnabled()
|
overridevirtual |
Specify if depth buffer writing is enabled.
- Parameters
-
[in] _enabled True if depth buffer writing is enabled
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetDiffuse()
|
overridevirtual |
Set the diffuse color.
- Parameters
-
[in] _color New diffuse color
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetEmissive()
|
overridevirtual |
Set the emissive color.
- Parameters
-
[in] _color New emissive color
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetEmissiveMap()
|
overridevirtual |
Set the material emissive map.
- Parameters
-
[in] _name URI of the new emissive map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetEnvironmentMap()
|
overridevirtual |
Set the material environment map.
- Parameters
-
[in] _name URI of the new environment map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetMetalness()
|
overridevirtual |
Set the metalness value. Only affects material of type MT_PBS.
- Parameters
-
[in] _metalness Metalness to set to
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetMetalnessMap()
|
overridevirtual |
Set the material metalness map.
- Parameters
-
[in] _name URI of the new metalness map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetNormalMap()
|
overridevirtual |
Set the material normal map.
- Parameters
-
[in] _name URI of the new normal map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetReceiveShadows()
|
overridevirtual |
Specify if this material receives shadows.
- Parameters
-
[in] _receiveShadows True if this material receives shadows
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetRoughness()
|
overridevirtual |
Set the roughness value. Only affects material of type MT_PBS.
- Parameters
-
[in] _roughness Roughness to set to
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetRoughnessMap()
|
overridevirtual |
Set the material roughness map.
- Parameters
-
[in] _name URI of the new roughness map file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetSpecular()
|
overridevirtual |
Set the specular color.
- Parameters
-
[in] _color New specular color
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetTexture()
|
overridevirtual |
Set the material texture.
- Parameters
-
[in] _name URI of the new texture file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ SetTextureMapImpl()
|
protectedvirtual |
Set the texture map for this material.
- Parameters
-
[in] _texture Name of the texture. [in] _type Type of texture, i.e. diffuse, normal, roughness, metalness
◆ SetTransparency()
|
overridevirtual |
Set the transparency value.
- Parameters
-
[in] _transparency New transparency value
Reimplemented from BaseMaterial< Ogre2Object >.
◆ Specular()
|
overridevirtual |
◆ Texture() [1/2]
|
overridevirtual |
Get the URI of the texture file.
- Returns
- URI of the texture file
Reimplemented from BaseMaterial< Ogre2Object >.
◆ Texture() [2/2]
|
protectedvirtual |
Get a pointer to the ogre texture by name.
- Returns
- Ogre texture
◆ Type()
|
overridevirtual |
Removes any metalness map mapped to this material.
Reimplemented from BaseMaterial< Ogre2Object >.
◆ UnlitDatablock()
|
virtual |
Return ogre Hlms material unlit datablock.
- Returns
- Ogre Hlms unlit datablock
◆ UpdateTransparency()
|
protectedvirtual |
Updates the material transparency in the engine, based on transparency and diffuse alpha values.
Member Data Documentation
◆ emissiveMapName
|
protected |
Name of the emissive map.
◆ environmentMapName
|
protected |
Name of the environment map.
◆ metalnessMapName
|
protected |
Name of the metalness map.
◆ normalMapName
|
protected |
Name of the normal map.
◆ ogreDatablock
|
protected |
Ogre data block containing all pbs material properties.
◆ ogreDatablockId
|
protected |
Unique id assigned to ogre hlms datablock.
◆ ogreHlmsPbs
|
protected |
Ogre high level physical based shading object.
◆ ogreMaterial
|
protected |
Ogre material. Mainly used for render targets.
◆ ogreUnlitDatablock
|
protected |
Ogre data block containing all unlit material properties.
◆ roughnessMapName
|
protected |
Name of the roughness map.
◆ textureName
|
protected |
Name of the texture.
The documentation for this class was generated from the following file: