OGRE 1.12.10
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches

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 String &str)
uint32 Ogre::calcHash (const StringVector &vec)
uint32 Ogre::calcHash (const void *data, size_t size)
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)
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)
void Ogre::ShaderPiecesManager::enumeratePieceFiles ()
ColourValue Ogre::PbsMaterial::getAlbedo ()
ColourValue Ogre::PbsMaterial::getF0 ()
HlmsDatablockOgre::HlmsMaterialBase::getFragmentDatablock ()
GpuProgramPtr Ogre::ShaderManager::getGpuProgram (HlmsDatablock *dataBlock)
uint32 Ogre::HlmsDatablock::getHash ()
uint32 Ogre::PropertyMap::getHash ()
uint32 Ogre::ShaderTemplate::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 ()
ShaderTemplateOgre::HlmsDatablock::getTemplate ()
const StringOgre::ShaderTemplate::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.
bool Ogre::PbsMaterial::TextureAddressing::operator== (const TextureAddressing &b)
bool Ogre::PropertyMap::Property::operator== (const Property &_r) const
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.
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.
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
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
void Ogre::PbsMaterial::updatePropertyMap (Camera *camera, const LightList *pLightList)
 this is called once per frame
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
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

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< ExpressionOgre::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.
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 ( )
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

References Ogre::TAM_WRAP, u, and v.

Referenced by operator==().

◆ TextureAddressing() [2/2]

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

References u, and v.

◆ operator==() [1/2]

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

References TextureAddressing(), u, and v.

◆ SamplerContainer()

◆ 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 ( )

Referenced by PbsMaterial().

◆ PbsMaterial() [2/2]

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

References PbsMaterial().

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

◆ setAlbedoTexture()

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

References BF_ALPHA.

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

References BF_ALPHA.

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

References BF_ALPHA, and PBS_MAX_LIGHT_COUNT.

◆ Property()

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

References keyName, and value.

Referenced by operator==().

◆ operator==() [2/2]

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

References Property(), keyName, and value.

◆ 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

References MurmurHash3_x86_32(), and Ogre::IdString::Seed.

Referenced by calcHash(), and calcHash().

◆ calcHash() [2/3]

uint32 Ogre::calcHash ( const String & str)
inline

References calcHash().

◆ calcHash() [3/3]

uint32 Ogre::calcHash ( const StringVector & vec)
inline

References calcHash().

◆ Expression()

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

References negated, result, and type.

◆ parse()

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()

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

Referenced by init().

◆ textureType

TextureType Ogre::PbsMaterial::SamplerContainer::textureType

Referenced by init().

◆ tex

TexturePtr Ogre::PbsMaterial::SamplerContainer::tex

◆ textureUnitState

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

Referenced by SamplerContainer().

◆ status

SamplerStatus Ogre::PbsMaterial::SamplerContainer::status

Referenced by SamplerContainer().

◆ hasIntensity

bool Ogre::PbsMaterial::SamplerContainer::hasIntensity

Referenced by SamplerContainer(), and init().

◆ intensity

float Ogre::PbsMaterial::SamplerContainer::intensity

Referenced by SamplerContainer().

◆ hasMipmapCount

bool Ogre::PbsMaterial::SamplerContainer::hasMipmapCount

Referenced by SamplerContainer(), and init().

◆ mipmapCount

float Ogre::PbsMaterial::SamplerContainer::mipmapCount

Referenced by SamplerContainer().

◆ hasBlendFunc

bool Ogre::PbsMaterial::SamplerContainer::hasBlendFunc

Referenced by SamplerContainer(), and init().

◆ blendFunc

BlendFunction Ogre::PbsMaterial::SamplerContainer::blendFunc

Referenced by SamplerContainer().

◆ hasBlendFactor1

bool Ogre::PbsMaterial::SamplerContainer::hasBlendFactor1

Referenced by SamplerContainer(), and init().

◆ blendFactor1

float Ogre::PbsMaterial::SamplerContainer::blendFactor1

Referenced by SamplerContainer().

◆ hasBlendFactor2

bool Ogre::PbsMaterial::SamplerContainer::hasBlendFactor2

Referenced by SamplerContainer(), and init().

◆ blendFactor2

float Ogre::PbsMaterial::SamplerContainer::blendFactor2

Referenced by SamplerContainer().

◆ textureAddressing

TextureAddressing Ogre::PbsMaterial::SamplerContainer::textureAddressing

◆ needsGammaCorrection

bool Ogre::PbsMaterial::SamplerContainer::needsGammaCorrection

Referenced by SamplerContainer(), and init().

◆ 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

Referenced by Property(), and operator==().

◆ value [1/2]

int32 Ogre::PropertyMap::Property::value

Referenced by Property(), and operator==().

◆ FilePatterns

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

◆ result

bool Ogre::ShaderGenerator::Expression::result

Referenced by Expression().

◆ negated

bool Ogre::ShaderGenerator::Expression::negated

Referenced by Expression().

◆ type

ExpressionType Ogre::ShaderGenerator::Expression::type

Referenced by Expression().

◆ children

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

◆ value [2/2]

String Ogre::ShaderGenerator::Expression::value