OGRE  1.12.13
Object-Oriented Graphics Rendering Engine
Ogre::PbsMaterial Class Reference

#include <OgreHlmsPbsMaterial.h>

+ Inheritance diagram for Ogre::PbsMaterial:

Classes

struct  TextureAddressing
 

Public Types

enum  BlendFunction {
  BF_ALPHA = 0, BF_ALPHA_PREMUL, BF_ADD, BF_SUBTRACT,
  BF_MULTIPLY, BF_MULTIPLY_2X, BF_SCREEN, BF_OVERLAY,
  BF_LIGHTEN, BF_DARKEN, BF_GRAIN_EXTRACT, BF_GRAIN_MERGE,
  BF_DIFFERENCE
}
 
enum  MapSlot { MS_MAIN, MS_D1, MS_D2 }
 

Public Member Functions

 PbsMaterial ()
 
 PbsMaterial (const PbsMaterial &obj)
 
virtual ~PbsMaterial ()
 
void createTextureUnits (Pass *pass)
 this is called once per frame if the shader has changed. (it is guaranteed that there are not texture units in the pass) More...
 
ColourValue getAlbedo ()
 
ColourValue getF0 ()
 
Real getLightRoughnessOffset ()
 
Real getRoughness ()
 
void setAlbedo (ColourValue val)
 
void setAlbedoTexture (MapSlot mapSlot, TexturePtr tex, TextureAddressing textureAddressing=TextureAddressing(), BlendFunction blendFunc=BF_ALPHA, float blendFactor=1)
 
void setEnvironmentMap (TexturePtr tex, float intensityFactor=1.0f)
 
void setF0 (ColourValue val)
 
void setF0Texture (MapSlot mapSlot, TexturePtr tex, TextureAddressing textureAddressing=TextureAddressing(), BlendFunction blendFunc=BF_ALPHA, float blendFactor=1)
 
void setLightRoughnessOffset (Real val)
 
void setNormalRTexture (MapSlot mapSlot, TexturePtr tex, TextureAddressing textureAddressing=TextureAddressing(), float normalBlendFactor=1, float rBlendFactor=0)
 set texture containing normals and roughness More...
 
void setOffsetAndScale (MapSlot mapSlot, Vector2 offset, Vector2 scale)
 
void setRoughness (Real val)
 
void setUvSetIndex (MapSlot mapSlot, uint index)
 
void updatePropertyMap (Camera *camera, const LightList *pLightList)
 this is called once per frame More...
 
void updateTextureUnits (TextureUnitState *textureUnitState, GpuProgramParametersSharedPtr fragmentParams, SamplerContainer &s, int index)
 
void updateUniforms (const Pass *pass, const AutoParamDataSource *source, const LightList *pLightList)
 this is called for every renderable before it is renderd with the given pass More...
 
- Public Member Functions inherited from Ogre::HlmsMaterialBase
 HlmsMaterialBase ()
 
virtual ~HlmsMaterialBase ()
 
HlmsDatablockgetFragmentDatablock ()
 
PropertyMapgetPropertyMap ()
 
HlmsDatablockgetVertexDatablock ()
 

Additional Inherited Members

- Public Attributes inherited from Ogre::HlmsMaterialBase
bool IsDirty
 

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