OGRE  1.12.4
Object-Oriented Graphics Rendering Engine

High-level Material-System. More...

Classes

class  Ogre::DefaultProperties
 
class  Ogre::HlmsDatablock
 
class  Ogre::HlmsManager
 
class  Ogre::HlmsMaterialBase
 
class  Ogre::PbsMaterial
 
struct  Ogre::PbsMaterial::TextureAddressing
 
class  Ogre::PropertyMap
 
struct  Ogre::PropertyMap::Property
 
class  Ogre::ShaderGenerator
 
class  Ogre::ShaderManager
 
class  Ogre::ShaderPiecesManager
 
class  Ogre::ShaderTemplate
 

Typedefs

typedef std::vector< std::pair< IdString, String > > Ogre::HlmsParamVec
 

Enumerations

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

Functions

 Ogre::ShaderGenerator::Expression::Expression ()
 
 Ogre::HlmsDatablock::HlmsDatablock (GpuProgramType type, PropertyMap *propertyMap)
 
 Ogre::HlmsManager::HlmsManager (SceneManager *sceneManager, const String &pieseFilesResorceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 
 Ogre::HlmsMaterialBase::HlmsMaterialBase ()
 
 Ogre::PbsMaterial::PbsMaterial ()
 
 Ogre::PbsMaterial::PbsMaterial (const PbsMaterial &obj)
 
 Ogre::PropertyMap::Property::Property (IdString _keyName, int32 _value)
 
 Ogre::PropertyMap::PropertyMap ()
 
 Ogre::PbsMaterial::SamplerContainer::SamplerContainer ()
 
 Ogre::ShaderManager::ShaderManager (const String &pieseFilesResorceGroup)
 
 Ogre::ShaderPiecesManager::ShaderPiecesManager (const String &pieceFilesResorceGroup)
 
 Ogre::ShaderTemplate::ShaderTemplate ()
 
 Ogre::PbsMaterial::TextureAddressing::TextureAddressing ()
 
 Ogre::PbsMaterial::TextureAddressing::TextureAddressing (TextureAddressingMode inU, TextureAddressingMode inV)
 
virtual Ogre::HlmsManager::~HlmsManager ()
 
virtual Ogre::HlmsMaterialBase::~HlmsMaterialBase ()
 
virtual Ogre::PbsMaterial::~PbsMaterial ()
 
virtual Ogre::PropertyMap::~PropertyMap ()
 
 Ogre::ShaderManager::~ShaderManager ()
 
void Ogre::HlmsDatablock::addProfile (const String &profile)
 
void Ogre::HlmsManager::bind (Renderable *rend, HlmsMaterialBase *material, const String &passName)
 
uint32 Ogre::calcHash (const void *data, size_t size)
 
uint32 Ogre::calcHash (const String &str)
 
uint32 Ogre::calcHash (const StringVector &vec)
 
static GpuProgramPtr Ogre::ShaderManager::createGpuProgram (const String &name, const String &code, HlmsDatablock *dataBlock)
 
virtual void Ogre::HlmsMaterialBase::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...
 
void Ogre::PbsMaterial::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...
 
void Ogre::ShaderPiecesManager::enumeratePieceFiles ()
 
ColourValue Ogre::PbsMaterial::getAlbedo ()
 
ColourValue Ogre::PbsMaterial::getF0 ()
 
HlmsDatablockOgre::HlmsMaterialBase::getFragmentDatablock ()
 
GpuProgramPtr Ogre::ShaderManager::getGpuProgram (HlmsDatablock *dataBlock)
 
uint32 Ogre::ShaderTemplate::getHash ()
 
uint32 Ogre::HlmsDatablock::getHash ()
 
uint32 Ogre::PropertyMap::getHash ()
 
const StringOgre::HlmsDatablock::getLanguage ()
 
Real Ogre::PbsMaterial::getLightRoughnessOffset ()
 
const StringVectorOgre::ShaderPiecesManager::getPieces (const String &language, GpuProgramType shaderType, bool reload=false)
 
const StringVectorOgre::HlmsDatablock::getProfileList ()
 
int32 Ogre::PropertyMap::getProperty (IdString key, int32 defaultVal=0)
 
PropertyMapOgre::HlmsDatablock::getPropertyMap ()
 
PropertyMapOgre::HlmsMaterialBase::getPropertyMap ()
 
Real Ogre::PbsMaterial::getRoughness ()
 
GpuProgramType Ogre::HlmsDatablock::getShaderType ()
 
const StringOgre::ShaderTemplate::getTemplate ()
 
ShaderTemplateOgre::HlmsDatablock::getTemplate ()
 
const StringOgre::ShaderTemplate::getTemplateFileName ()
 
HlmsDatablockOgre::HlmsMaterialBase::getVertexDatablock ()
 
bool Ogre::HlmsManager::hasBinding (Renderable *rend, const String &passName)
 
bool Ogre::PropertyMap::hasProperty (IdString key)
 
void Ogre::PbsMaterial::SamplerContainer::init (String n, bool hasBlendFu=false, bool hasBlendFc1=false, bool hasBlendFc2=false, bool needsGammaCorrect=false, bool hasIntens=false, bool hasMipmapC=false, TextureType texType=TEX_TYPE_2D)
 
void Ogre::ShaderTemplate::load ()
 
virtual void Ogre::HlmsManager::notifyRenderSingleObject (Renderable *rend, const Pass *pass, const AutoParamDataSource *source, const LightList *pLightList, bool suppressRenderStateChanges)
 Event raised when render single object started. More...
 
bool Ogre::PropertyMap::Property::operator== (const Property &_r) const
 
bool Ogre::PbsMaterial::TextureAddressing::operator== (const TextureAddressing &b)
 
bool Ogre::OrderParamVecByKey (const std::pair< IdString, String > &_left, const std::pair< IdString, String > &_right)
 
static String Ogre::ShaderGenerator::parse (String &inBuffer, PropertyMap &properties, const StringVector &pieceFiles)
 
virtual void Ogre::HlmsManager::preFindVisibleObjects (SceneManager *source, SceneManager::IlluminationRenderStage irs, Viewport *v)
 Called prior to searching for visible objects in this SceneManager. More...
 
void Ogre::PropertyMap::removeProperty (IdString key)
 
void Ogre::PbsMaterial::setAlbedo (ColourValue val)
 
void Ogre::PbsMaterial::setAlbedoTexture (MapSlot mapSlot, TexturePtr tex, TextureAddressing textureAddressing=TextureAddressing(), BlendFunction blendFunc=BF_ALPHA, float blendFactor=1)
 
void Ogre::PropertyMap::setCommonProperties ()
 Inserts common properties about the current Renderable, such as hlms_skeleton hlms_uv_count, etc. More...
 
void Ogre::PbsMaterial::setEnvironmentMap (TexturePtr tex, float intensityFactor=1.0f)
 
void Ogre::PbsMaterial::setF0 (ColourValue val)
 
void Ogre::PbsMaterial::setF0Texture (MapSlot mapSlot, TexturePtr tex, TextureAddressing textureAddressing=TextureAddressing(), BlendFunction blendFunc=BF_ALPHA, float blendFactor=1)
 
void Ogre::HlmsDatablock::setLanguage (const String &language)
 
void Ogre::PbsMaterial::setLightRoughnessOffset (Real val)
 
void Ogre::PbsMaterial::setNormalRTexture (MapSlot mapSlot, TexturePtr tex, TextureAddressing textureAddressing=TextureAddressing(), float normalBlendFactor=1, float rBlendFactor=0)
 set texture containing normals and roughness More...
 
void Ogre::PbsMaterial::setOffsetAndScale (MapSlot mapSlot, Vector2 offset, Vector2 scale)
 
void Ogre::PropertyMap::setProperty (IdString key, int32 value)
 
void Ogre::PbsMaterial::setRoughness (Real val)
 
void Ogre::ShaderTemplate::setTemplateFileName (const String &templateFileName)
 
void Ogre::HlmsDatablock::setTemplateName (const String &tamplateName)
 
void Ogre::PbsMaterial::setUvSetIndex (MapSlot mapSlot, uint index)
 
void Ogre::HlmsManager::unbind (Renderable *rend, const String &passName)
 
void Ogre::HlmsManager::unbindAll (const String &passName)
 
virtual void Ogre::HlmsMaterialBase::updatePropertyMap (Camera *camera, const LightList *pLightList)
 this is called once per frame More...
 
void Ogre::PbsMaterial::updatePropertyMap (Camera *camera, const LightList *pLightList)
 this is called once per frame More...
 
void Ogre::PbsMaterial::updateTextureUnits (TextureUnitState *textureUnitState, GpuProgramParametersSharedPtr fragmentParams, SamplerContainer &s, int index)
 
virtual void Ogre::HlmsMaterialBase::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...
 
void Ogre::PbsMaterial::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...
 

Variables

static const IdString Ogre::DefaultProperties::AlphaTest
 
float Ogre::PbsMaterial::SamplerContainer::blendFactor1
 
float Ogre::PbsMaterial::SamplerContainer::blendFactor2
 
BlendFunction Ogre::PbsMaterial::SamplerContainer::blendFunc
 
static const IdString Ogre::DefaultProperties::BonesPerVertex
 
std::vector< Expression > Ogre::ShaderGenerator::Expression::children
 
static const IdString Ogre::DefaultProperties::Colour
 
static const IdString Ogre::DefaultProperties::DualParaboloidMapping
 
const String Ogre::FilePatterns [] = { "_vs", "_fs", "_gs", "_ds", "_hs" }
 
bool Ogre::PbsMaterial::SamplerContainer::hasBlendFactor1
 
bool Ogre::PbsMaterial::SamplerContainer::hasBlendFactor2
 
bool Ogre::PbsMaterial::SamplerContainer::hasBlendFunc
 
bool Ogre::PbsMaterial::SamplerContainer::hasIntensity
 
bool Ogre::PbsMaterial::SamplerContainer::hasMipmapCount
 
float Ogre::PbsMaterial::SamplerContainer::intensity
 
bool Ogre::HlmsMaterialBase::IsDirty
 
IdString Ogre::PropertyMap::Property::keyName
 
static const IdString Ogre::DefaultProperties::LightsAttenuation
 
static const IdString Ogre::DefaultProperties::LightsDirectional
 
static const IdString Ogre::DefaultProperties::LightsPoint
 
static const IdString Ogre::DefaultProperties::LightsSpot
 
static const IdString Ogre::DefaultProperties::LightsSpotParams
 
float Ogre::PbsMaterial::SamplerContainer::mipmapCount
 
String Ogre::PbsMaterial::SamplerContainer::name
 
bool Ogre::PbsMaterial::SamplerContainer::needsGammaCorrection
 
bool Ogre::ShaderGenerator::Expression::negated
 
static const IdString Ogre::DefaultProperties::Normal
 
static const IdString Ogre::DefaultProperties::NumShadowMaps
 
static const IdString Ogre::DefaultProperties::Pose
 
static const IdString Ogre::DefaultProperties::PssmSplits
 
static const IdString Ogre::DefaultProperties::QTangent
 
bool Ogre::ShaderGenerator::Expression::result
 
static const IdString Ogre::DefaultProperties::ShadowCaster
 
static const IdString Ogre::DefaultProperties::Skeleton
 These are "default" or "Base" properties common to many implementations and thus defined here. More...
 
SamplerStatus Ogre::PbsMaterial::SamplerContainer::status
 
static const IdString Ogre::DefaultProperties::Tangent
 
TexturePtr Ogre::PbsMaterial::SamplerContainer::tex
 
TextureAddressing Ogre::PbsMaterial::SamplerContainer::textureAddressing
 
TextureType Ogre::PbsMaterial::SamplerContainer::textureType
 
TextureUnitStateOgre::PbsMaterial::SamplerContainer::textureUnitState
 
ExpressionType Ogre::ShaderGenerator::Expression::type
 
TextureAddressingMode Ogre::PbsMaterial::TextureAddressing::u
 
static const IdString Ogre::DefaultProperties::UvCount
 
static const IdString Ogre::DefaultProperties::UvCount0
 
static const IdString Ogre::DefaultProperties::UvCount1
 
static const IdString Ogre::DefaultProperties::UvCount2
 
static const IdString Ogre::DefaultProperties::UvCount3
 
static const IdString Ogre::DefaultProperties::UvCount4
 
static const IdString Ogre::DefaultProperties::UvCount5
 
static const IdString Ogre::DefaultProperties::UvCount6
 
static const IdString Ogre::DefaultProperties::UvCount7
 
static const IdStringOgre::DefaultProperties::UvCountPtrs [8]
 
TextureAddressingMode Ogre::PbsMaterial::TextureAddressing::v
 
int32 Ogre::PropertyMap::Property::value
 
String Ogre::ShaderGenerator::Expression::value
 

Detailed Description

High-level Material-System.

Typedef Documentation

◆ HlmsParamVec

typedef std::vector< std::pair<IdString, String> > Ogre::HlmsParamVec

Enumeration Type Documentation

◆ BlendFunction

Enumerator
BF_ALPHA 
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 

◆ MapSlot

Enumerator
MS_MAIN 
MS_D1 
MS_D2 

Function Documentation

◆ HlmsDatablock()

Ogre::HlmsDatablock::HlmsDatablock ( GpuProgramType  type,
PropertyMap propertyMap 
)

◆ getPropertyMap() [1/2]

PropertyMap* Ogre::HlmsDatablock::getPropertyMap ( )
inline

◆ getShaderType()

GpuProgramType Ogre::HlmsDatablock::getShaderType ( )
inline

◆ getLanguage()

const String& Ogre::HlmsDatablock::getLanguage ( void  )
inline

◆ getTemplate() [1/2]

ShaderTemplate* Ogre::HlmsDatablock::getTemplate ( )

◆ getProfileList()

const StringVector& Ogre::HlmsDatablock::getProfileList ( )
inline

◆ setLanguage()

void Ogre::HlmsDatablock::setLanguage ( const String language)

◆ setTemplateName()

void Ogre::HlmsDatablock::setTemplateName ( const String tamplateName)

◆ addProfile()

void Ogre::HlmsDatablock::addProfile ( const String profile)

◆ getHash() [1/3]

uint32 Ogre::HlmsDatablock::getHash ( )

◆ HlmsManager()

Ogre::HlmsManager::HlmsManager ( SceneManager sceneManager,
const String pieseFilesResorceGroup = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME 
)

◆ ~HlmsManager()

virtual Ogre::HlmsManager::~HlmsManager ( )
virtual

◆ notifyRenderSingleObject()

virtual void Ogre::HlmsManager::notifyRenderSingleObject ( Renderable rend,
const Pass pass,
const AutoParamDataSource source,
const LightList pLightList,
bool  suppressRenderStateChanges 
)
virtual

Event raised when render single object started.

Remarks
This method is called by the SceneManager.
Parameters
rendThe renderable that is going to be rendered.
passThe pass which was set.
sourceThe auto parameter source used within this render call.
pLightListThe light list in use.
suppressRenderStateChangesTrue if render state changes should be suppressed.

Implements Ogre::RenderObjectListener.

◆ preFindVisibleObjects()

virtual void Ogre::HlmsManager::preFindVisibleObjects ( SceneManager source,
SceneManager::IlluminationRenderStage  irs,
Viewport v 
)
virtual

Called prior to searching for visible objects in this SceneManager.

Remarks
Note that the render queue at this stage will be full of the last render's contents and will be cleared after this method is called.
Parameters
sourceThe SceneManager instance raising this event.
irsThe stage of illumination being dealt with. IRS_NONE for a regular render, IRS_RENDER_TO_TEXTURE for a shadow caster render.
vThe viewport being updated. You can get the camera from here.

Reimplemented from Ogre::SceneManager::Listener.

◆ bind()

void Ogre::HlmsManager::bind ( Renderable rend,
HlmsMaterialBase material,
const String passName 
)

◆ unbind()

void Ogre::HlmsManager::unbind ( Renderable rend,
const String passName 
)

◆ unbindAll()

void Ogre::HlmsManager::unbindAll ( const String passName)

◆ hasBinding()

bool Ogre::HlmsManager::hasBinding ( Renderable rend,
const String passName 
)

◆ HlmsMaterialBase()

Ogre::HlmsMaterialBase::HlmsMaterialBase ( )

◆ ~HlmsMaterialBase()

virtual Ogre::HlmsMaterialBase::~HlmsMaterialBase ( )
virtual

◆ getVertexDatablock()

HlmsDatablock* Ogre::HlmsMaterialBase::getVertexDatablock ( )
inline

◆ getFragmentDatablock()

HlmsDatablock* Ogre::HlmsMaterialBase::getFragmentDatablock ( )
inline

◆ getPropertyMap() [2/2]

PropertyMap& Ogre::HlmsMaterialBase::getPropertyMap ( )
inline

◆ updatePropertyMap() [1/2]

virtual void Ogre::HlmsMaterialBase::updatePropertyMap ( Camera camera,
const LightList pLightList 
)
inlinevirtual

this is called once per frame

Reimplemented in Ogre::PbsMaterial.

◆ createTextureUnits() [1/2]

virtual void Ogre::HlmsMaterialBase::createTextureUnits ( Pass pass)
inlinevirtual

this is called once per frame if the shader has changed. (it is guaranteed that there are not texture units in the pass)

Reimplemented in Ogre::PbsMaterial.

◆ updateUniforms() [1/2]

virtual void Ogre::HlmsMaterialBase::updateUniforms ( const Pass pass,
const AutoParamDataSource source,
const LightList pLightList 
)
inlinevirtual

this is called for every renderable before it is renderd with the given pass

Reimplemented in Ogre::PbsMaterial.

◆ TextureAddressing() [1/2]

Ogre::PbsMaterial::TextureAddressing::TextureAddressing ( )
inline

◆ TextureAddressing() [2/2]

Ogre::PbsMaterial::TextureAddressing::TextureAddressing ( TextureAddressingMode  inU,
TextureAddressingMode  inV 
)
inline

◆ operator==() [1/2]

bool Ogre::PbsMaterial::TextureAddressing::operator== ( const TextureAddressing b)
inline

◆ SamplerContainer()

Ogre::PbsMaterial::SamplerContainer::SamplerContainer ( )
inline

◆ init()

void Ogre::PbsMaterial::SamplerContainer::init ( String  n,
bool  hasBlendFu = false,
bool  hasBlendFc1 = false,
bool  hasBlendFc2 = false,
bool  needsGammaCorrect = false,
bool  hasIntens = false,
bool  hasMipmapC = false,
TextureType  texType = TEX_TYPE_2D 
)
inline

◆ PbsMaterial() [1/2]

Ogre::PbsMaterial::PbsMaterial ( )

◆ PbsMaterial() [2/2]

Ogre::PbsMaterial::PbsMaterial ( const PbsMaterial obj)

◆ ~PbsMaterial()

virtual Ogre::PbsMaterial::~PbsMaterial ( )
virtual

◆ setEnvironmentMap()

void Ogre::PbsMaterial::setEnvironmentMap ( TexturePtr  tex,
float  intensityFactor = 1.0f 
)

◆ getAlbedo()

ColourValue Ogre::PbsMaterial::getAlbedo ( )
inline

◆ setAlbedo()

void Ogre::PbsMaterial::setAlbedo ( ColourValue  val)
inline

◆ getF0()

ColourValue Ogre::PbsMaterial::getF0 ( )
inline

◆ setF0()

void Ogre::PbsMaterial::setF0 ( ColourValue  val)
inline

◆ getRoughness()

Real Ogre::PbsMaterial::getRoughness ( )
inline

◆ setRoughness()

void Ogre::PbsMaterial::setRoughness ( Real  val)
inline

◆ getLightRoughnessOffset()

Real Ogre::PbsMaterial::getLightRoughnessOffset ( )
inline

◆ setLightRoughnessOffset()

void Ogre::PbsMaterial::setLightRoughnessOffset ( Real  val)
inline

References PBS_MAX_LIGHT_COUNT.

◆ setAlbedoTexture()

void Ogre::PbsMaterial::setAlbedoTexture ( MapSlot  mapSlot,
TexturePtr  tex,
TextureAddressing  textureAddressing = TextureAddressing(),
BlendFunction  blendFunc = BF_ALPHA,
float  blendFactor = 1 
)

◆ setNormalRTexture()

void Ogre::PbsMaterial::setNormalRTexture ( MapSlot  mapSlot,
TexturePtr  tex,
TextureAddressing  textureAddressing = TextureAddressing(),
float  normalBlendFactor = 1,
float  rBlendFactor = 0 
)

set texture containing normals and roughness

◆ setF0Texture()

void Ogre::PbsMaterial::setF0Texture ( MapSlot  mapSlot,
TexturePtr  tex,
TextureAddressing  textureAddressing = TextureAddressing(),
BlendFunction  blendFunc = BF_ALPHA,
float  blendFactor = 1 
)

◆ setOffsetAndScale()

void Ogre::PbsMaterial::setOffsetAndScale ( MapSlot  mapSlot,
Vector2  offset,
Vector2  scale 
)

◆ setUvSetIndex()

void Ogre::PbsMaterial::setUvSetIndex ( MapSlot  mapSlot,
uint  index 
)

◆ updatePropertyMap() [2/2]

void Ogre::PbsMaterial::updatePropertyMap ( Camera camera,
const LightList pLightList 
)
virtual

this is called once per frame

Reimplemented from Ogre::HlmsMaterialBase.

◆ createTextureUnits() [2/2]

void Ogre::PbsMaterial::createTextureUnits ( Pass pass)
virtual

this is called once per frame if the shader has changed. (it is guaranteed that there are not texture units in the pass)

Reimplemented from Ogre::HlmsMaterialBase.

◆ updateUniforms() [2/2]

void Ogre::PbsMaterial::updateUniforms ( const Pass pass,
const AutoParamDataSource source,
const LightList pLightList 
)
virtual

this is called for every renderable before it is renderd with the given pass

Reimplemented from Ogre::HlmsMaterialBase.

◆ updateTextureUnits()

void Ogre::PbsMaterial::updateTextureUnits ( TextureUnitState textureUnitState,
GpuProgramParametersSharedPtr  fragmentParams,
SamplerContainer &  s,
int  index 
)

◆ Property()

Ogre::PropertyMap::Property::Property ( IdString  _keyName,
int32  _value 
)
inline

◆ operator==() [2/2]

bool Ogre::PropertyMap::Property::operator== ( const Property _r) const
inline

◆ PropertyMap()

Ogre::PropertyMap::PropertyMap ( )

◆ ~PropertyMap()

virtual Ogre::PropertyMap::~PropertyMap ( )
virtual

◆ setCommonProperties()

void Ogre::PropertyMap::setCommonProperties ( )

Inserts common properties about the current Renderable, such as hlms_skeleton hlms_uv_count, etc.

◆ setProperty()

void Ogre::PropertyMap::setProperty ( IdString  key,
int32  value 
)

◆ hasProperty()

bool Ogre::PropertyMap::hasProperty ( IdString  key)

◆ getProperty()

int32 Ogre::PropertyMap::getProperty ( IdString  key,
int32  defaultVal = 0 
)

◆ removeProperty()

void Ogre::PropertyMap::removeProperty ( IdString  key)

◆ getHash() [2/3]

uint32 Ogre::PropertyMap::getHash ( )

◆ OrderParamVecByKey()

bool Ogre::OrderParamVecByKey ( const std::pair< IdString, String > &  _left,
const std::pair< IdString, String > &  _right 
)
inline

◆ calcHash() [1/3]

uint32 Ogre::calcHash ( const void *  data,
size_t  size 
)
inline

◆ calcHash() [2/3]

uint32 Ogre::calcHash ( const String str)
inline

References Ogre::calcHash().

◆ calcHash() [3/3]

uint32 Ogre::calcHash ( const StringVector vec)
inline

References Ogre::calcHash().

◆ Expression()

Ogre::ShaderGenerator::Expression::Expression ( )
inline

◆ parse()

static String Ogre::ShaderGenerator::parse ( String inBuffer,
PropertyMap properties,
const StringVector pieceFiles 
)
static

◆ ShaderManager()

Ogre::ShaderManager::ShaderManager ( const String pieseFilesResorceGroup)

◆ ~ShaderManager()

Ogre::ShaderManager::~ShaderManager ( )

◆ getGpuProgram()

GpuProgramPtr Ogre::ShaderManager::getGpuProgram ( HlmsDatablock dataBlock)

◆ createGpuProgram()

static GpuProgramPtr Ogre::ShaderManager::createGpuProgram ( const String name,
const String code,
HlmsDatablock dataBlock 
)
static

◆ ShaderPiecesManager()

Ogre::ShaderPiecesManager::ShaderPiecesManager ( const String pieceFilesResorceGroup)
inline

◆ enumeratePieceFiles()

void Ogre::ShaderPiecesManager::enumeratePieceFiles ( )

◆ getPieces()

const StringVector& Ogre::ShaderPiecesManager::getPieces ( const String language,
GpuProgramType  shaderType,
bool  reload = false 
)

◆ ShaderTemplate()

Ogre::ShaderTemplate::ShaderTemplate ( )
inline

◆ getTemplateFileName()

const String& Ogre::ShaderTemplate::getTemplateFileName ( )
inline

◆ setTemplateFileName()

void Ogre::ShaderTemplate::setTemplateFileName ( const String templateFileName)

◆ load()

void Ogre::ShaderTemplate::load ( )

◆ getTemplate() [2/2]

const String& Ogre::ShaderTemplate::getTemplate ( )

◆ getHash() [3/3]

uint32 Ogre::ShaderTemplate::getHash ( )

Variable Documentation

◆ IsDirty

bool Ogre::HlmsMaterialBase::IsDirty

◆ u

TextureAddressingMode Ogre::PbsMaterial::TextureAddressing::u

◆ v

TextureAddressingMode Ogre::PbsMaterial::TextureAddressing::v

◆ name

String Ogre::PbsMaterial::SamplerContainer::name

◆ textureType

TextureType Ogre::PbsMaterial::SamplerContainer::textureType

◆ tex

TexturePtr Ogre::PbsMaterial::SamplerContainer::tex

◆ textureUnitState

TextureUnitState* Ogre::PbsMaterial::SamplerContainer::textureUnitState

◆ status

SamplerStatus Ogre::PbsMaterial::SamplerContainer::status

◆ hasIntensity

bool Ogre::PbsMaterial::SamplerContainer::hasIntensity

◆ intensity

float Ogre::PbsMaterial::SamplerContainer::intensity

◆ hasMipmapCount

bool Ogre::PbsMaterial::SamplerContainer::hasMipmapCount

◆ mipmapCount

float Ogre::PbsMaterial::SamplerContainer::mipmapCount

◆ hasBlendFunc

bool Ogre::PbsMaterial::SamplerContainer::hasBlendFunc

◆ blendFunc

BlendFunction Ogre::PbsMaterial::SamplerContainer::blendFunc

◆ hasBlendFactor1

bool Ogre::PbsMaterial::SamplerContainer::hasBlendFactor1

◆ blendFactor1

float Ogre::PbsMaterial::SamplerContainer::blendFactor1

◆ hasBlendFactor2

bool Ogre::PbsMaterial::SamplerContainer::hasBlendFactor2

◆ blendFactor2

float Ogre::PbsMaterial::SamplerContainer::blendFactor2

◆ textureAddressing

TextureAddressing Ogre::PbsMaterial::SamplerContainer::textureAddressing

◆ needsGammaCorrection

bool Ogre::PbsMaterial::SamplerContainer::needsGammaCorrection

◆ Skeleton

const IdString Ogre::DefaultProperties::Skeleton
static

These are "default" or "Base" properties common to many implementations and thus defined here.

◆ BonesPerVertex

const IdString Ogre::DefaultProperties::BonesPerVertex
static

◆ Pose

const IdString Ogre::DefaultProperties::Pose
static

◆ Normal

const IdString Ogre::DefaultProperties::Normal
static

◆ QTangent

const IdString Ogre::DefaultProperties::QTangent
static

◆ Tangent

const IdString Ogre::DefaultProperties::Tangent
static

◆ Colour

const IdString Ogre::DefaultProperties::Colour
static

◆ UvCount

const IdString Ogre::DefaultProperties::UvCount
static

◆ UvCount0

const IdString Ogre::DefaultProperties::UvCount0
static

◆ UvCount1

const IdString Ogre::DefaultProperties::UvCount1
static

◆ UvCount2

const IdString Ogre::DefaultProperties::UvCount2
static

◆ UvCount3

const IdString Ogre::DefaultProperties::UvCount3
static

◆ UvCount4

const IdString Ogre::DefaultProperties::UvCount4
static

◆ UvCount5

const IdString Ogre::DefaultProperties::UvCount5
static

◆ UvCount6

const IdString Ogre::DefaultProperties::UvCount6
static

◆ UvCount7

const IdString Ogre::DefaultProperties::UvCount7
static

◆ LightsDirectional

const IdString Ogre::DefaultProperties::LightsDirectional
static

◆ LightsPoint

const IdString Ogre::DefaultProperties::LightsPoint
static

◆ LightsSpot

const IdString Ogre::DefaultProperties::LightsSpot
static

◆ LightsAttenuation

const IdString Ogre::DefaultProperties::LightsAttenuation
static

◆ LightsSpotParams

const IdString Ogre::DefaultProperties::LightsSpotParams
static

◆ DualParaboloidMapping

const IdString Ogre::DefaultProperties::DualParaboloidMapping
static

◆ NumShadowMaps

const IdString Ogre::DefaultProperties::NumShadowMaps
static

◆ PssmSplits

const IdString Ogre::DefaultProperties::PssmSplits
static

◆ ShadowCaster

const IdString Ogre::DefaultProperties::ShadowCaster
static

◆ AlphaTest

const IdString Ogre::DefaultProperties::AlphaTest
static

◆ UvCountPtrs

const IdString* Ogre::DefaultProperties::UvCountPtrs[8]
static

◆ keyName

IdString Ogre::PropertyMap::Property::keyName

◆ value [1/2]

int32 Ogre::PropertyMap::Property::value

◆ FilePatterns

const String Ogre::FilePatterns[] = { "_vs", "_fs", "_gs", "_ds", "_hs" }

◆ result

bool Ogre::ShaderGenerator::Expression::result

◆ negated

bool Ogre::ShaderGenerator::Expression::negated

◆ type

ExpressionType Ogre::ShaderGenerator::Expression::type

◆ children

std::vector<Expression> Ogre::ShaderGenerator::Expression::children

◆ value [2/2]

String Ogre::ShaderGenerator::Expression::value