OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
Class defining a single pass of a Technique (of a Material), i.e. More...
#include <OgrePass.h>
Public Types | |
typedef ConstVectorIterator< TextureUnitStates > | ConstTextureUnitStateIterator |
typedef VectorIterator< TextureUnitStates > | TextureUnitStateIterator |
Public Member Functions | |
Pass (Technique *parent, unsigned short index) | |
Default constructor. More... | |
Pass (Technique *parent, unsigned short index, const Pass &oth) | |
Copy constructor. More... | |
virtual | ~Pass () |
HlmsDatablock * | _getDatablock (void) const |
Gets the internal datablock that acts as proxy for us. More... | |
size_t | _getTextureUnitWithContentTypeIndex (TextureUnitState::ContentType contentType, size_t index) const |
Gets the 'nth' texture which references the given content type. More... | |
void | _load (void) |
Internal method for loading this pass. More... | |
void | _notifyIndex (unsigned short index) |
Internal method to adjust pass index. More... | |
void | _prepare (void) |
Internal method for preparing to load this pass. More... | |
void | _unload (void) |
Internal method for unloading this pass. More... | |
void | _unprepare (void) |
Internal method for undoing the load preparartion for this pass. More... | |
void | _updateAutoParams (const AutoParamDataSource *source, uint16 variabilityMask) const |
Update automatic parameters. More... | |
void | addTextureUnitState (TextureUnitState *state) |
Adds the passed in TextureUnitState, to the existing Pass. More... | |
bool | applyTextureAliases (const AliasTextureNamePairList &aliasList, const bool apply=true) const |
Applies texture names to Texture Unit State with matching texture name aliases. More... | |
size_t | calculateSize (void) const |
TextureUnitState * | createTextureUnitState (void) |
Inserts a new TextureUnitState object into the Pass. More... | |
TextureUnitState * | createTextureUnitState (const String &textureName, unsigned short texCoordSet=0) |
Inserts a new TextureUnitState object into the Pass. More... | |
CompareFunction | getAlphaRejectFunction (void) const |
Gets the alpha reject function. More... | |
unsigned char | getAlphaRejectValue (void) const |
Gets the alpha reject value. More... | |
const ColourValue & | getAmbient (void) const |
Gets the ambient colour reflectance of the pass. More... | |
const HlmsBlendblock * | getBlendblock (void) const |
Retrieves current blendblock. More... | |
bool | getColourWriteEnabled (void) const |
Determines if colour buffer writing is enabled for this pass. More... | |
const GpuProgramPtr & | getComputeProgram (void) const |
Gets the Tessellation EHull program used by this pass, only available after _load(). More... | |
const String & | getComputeProgramName (void) const |
Gets the name of the Tessellation Hull program used by this pass. More... | |
GpuProgramParametersSharedPtr | getComputeProgramParameters (void) const |
Gets the Tessellation Hull program parameters used by this pass. More... | |
const ColourValue & | getDiffuse (void) const |
Gets the diffuse colour reflectance of the pass. More... | |
const ColourValue & | getEmissive (void) const |
Gets the self illumination colour of the pass. More... | |
const ColourValue & | getFogColour (void) const |
Returns the fog colour for the scene. More... | |
Real | getFogDensity (void) const |
Returns the fog density for this pass. More... | |
Real | getFogEnd (void) const |
Returns the fog end distance for this pass. More... | |
FogMode | getFogMode (void) const |
Returns the fog mode for this pass. More... | |
bool | getFogOverride (void) const |
Returns true if this pass is to override the scene fog settings. More... | |
Real | getFogStart (void) const |
Returns the fog start distance for this pass. More... | |
const GpuProgramPtr & | getFragmentProgram (void) const |
Gets the fragment program used by this pass, only available after _load(). More... | |
const String & | getFragmentProgramName (void) const |
Gets the name of the fragment program used by this pass. More... | |
GpuProgramParametersSharedPtr | getFragmentProgramParameters (void) const |
Gets the fragment program parameters used by this pass. More... | |
const GpuProgramPtr & | getGeometryProgram (void) const |
Gets the geometry program used by this pass, only available after _load(). More... | |
const String & | getGeometryProgramName (void) const |
Gets the name of the geometry program used by this pass. More... | |
GpuProgramParametersSharedPtr | getGeometryProgramParameters (void) const |
Gets the geometry program parameters used by this pass. More... | |
uint32 | getId (void) const |
unsigned short | getIndex (void) const |
Gets the index of this Pass in the parent Technique. More... | |
bool | getIteratePerLight (void) const |
Does this pass run once for every light in range? More... | |
bool | getLightClipPlanesEnabled () const |
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the light. More... | |
unsigned short | getLightCountPerIteration (void) const |
If light iteration is enabled, determine the number of lights per iteration. More... | |
uint32 | getLightMask () const |
Gets the light mask controlling which lights are used for this pass. More... | |
bool | getLightScissoringEnabled () const |
Gets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are being used in it. More... | |
const HlmsMacroblock * | getMacroblock (void) const |
Retrieves current macroblock. More... | |
unsigned short | getMaxSimultaneousLights (void) const |
Gets the maximum number of lights to be used by this pass. More... | |
const String & | getName (void) const |
Get the name of the pass. More... | |
size_t | getNumShadowContentTextures (void) const |
unsigned short | getNumTextureUnitStates (void) const |
Returns the number of texture unit settings. More... | |
Light::LightTypes | getOnlyLightType () const |
Gets the single light type this pass runs for if getIteratePerLight and getRunOnlyForOneLightType are both true. More... | |
Technique * | getParent (void) const |
Gets the parent Technique. More... | |
size_t | getPassIterationCount (void) const |
Gets the pass iteration count value. More... | |
Real | getPointAttenuationConstant (void) const |
Returns the constant coefficient of point attenuation. More... | |
Real | getPointAttenuationLinear (void) const |
Returns the linear coefficient of point attenuation. More... | |
Real | getPointAttenuationQuadratic (void) const |
Returns the quadratic coefficient of point attenuation. More... | |
Real | getPointMaxSize (void) const |
Get the maximum point size, when point attenuation is in use. More... | |
Real | getPointMinSize (void) const |
Get the minimum point size, when point attenuation is in use. More... | |
Real | getPointSize (void) const |
Gets the point size of the pass. More... | |
bool | getPointSpritesEnabled (void) const |
Returns whether point sprites are enabled when rendering a point list. More... | |
virtual bool | getPolygonModeOverrideable (void) const |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
const String & | getResourceGroup (void) const |
Gets the resource group of the ultimate parent Material. More... | |
bool | getRunOnlyForOneLightType (void) const |
Does this pass run only for a single light type (if getIteratePerLight is true). More... | |
const ColourValue & | getSelfIllumination (void) const |
Gets the self illumination colour of the pass. More... | |
ShadeOptions | getShadingMode (void) const |
Returns the type of light shading to be used. More... | |
const GpuProgramPtr & | getShadowCasterFragmentProgram (void) const |
Gets the fragment program used by this pass when rendering shadow casters, only available after _load(). More... | |
const String & | getShadowCasterFragmentProgramName (void) const |
Gets the name of the fragment program used by this pass when rendering shadow casters. More... | |
GpuProgramParametersSharedPtr | getShadowCasterFragmentProgramParameters (void) const |
Gets the fragment program parameters used by this pass when rendering shadow casters. More... | |
const GpuProgramPtr & | getShadowCasterVertexProgram (void) const |
Gets the vertex program used by this pass when rendering shadow casters, only available after _load(). More... | |
const String & | getShadowCasterVertexProgramName (void) const |
Gets the name of the vertex program used by this pass when rendering shadow casters. More... | |
GpuProgramParametersSharedPtr | getShadowCasterVertexProgramParameters (void) const |
Gets the vertex program parameters used by this pass when rendering shadow casters. More... | |
Real | getShininess (void) const |
Gets the 'shininess' property of the pass (affects specular highlights). More... | |
const ColourValue & | getSpecular (void) const |
Gets the specular colour reflectance of the pass. More... | |
unsigned short | getStartLight (void) const |
Gets the light index that this pass will start at in the light list. More... | |
const GpuProgramPtr & | getTessellationDomainProgram (void) const |
Gets the Tessellation Domain program used by this pass, only available after _load(). More... | |
const String & | getTessellationDomainProgramName (void) const |
Gets the name of the Domain Evaluation program used by this pass. More... | |
GpuProgramParametersSharedPtr | getTessellationDomainProgramParameters (void) const |
Gets the Tessellation Domain program parameters used by this pass. More... | |
const GpuProgramPtr & | getTessellationHullProgram (void) const |
Gets the Tessellation Hull program used by this pass, only available after _load(). More... | |
const String & | getTessellationHullProgramName (void) const |
Gets the name of the Tessellation Hull program used by this pass. More... | |
GpuProgramParametersSharedPtr | getTessellationHullProgramParameters (void) const |
Gets the Tessellation Hull program parameters used by this pass. More... | |
TextureUnitState * | getTextureUnitState (size_t index) |
Retrieves a pointer to a texture unit state so it may be modified. More... | |
TextureUnitState * | getTextureUnitState (const String &name) |
Retrieves the Texture Unit State matching name. More... | |
const TextureUnitState * | getTextureUnitState (size_t index) const |
Retrieves a const pointer to a texture unit state. More... | |
const TextureUnitState * | getTextureUnitState (const String &name) const |
Retrieves the Texture Unit State matching name. More... | |
unsigned short | getTextureUnitStateIndex (const TextureUnitState *state) const |
Retrieve the index of the Texture Unit State in the pass. More... | |
TextureUnitStateIterator | getTextureUnitStateIterator (void) |
Get an iterator over the TextureUnitStates contained in this Pass. More... | |
ConstTextureUnitStateIterator | getTextureUnitStateIterator (void) const |
Get an iterator over the TextureUnitStates contained in this Pass. More... | |
UserObjectBindings & | getUserObjectBindings () |
Return an instance of user objects binding associated with this class. More... | |
const UserObjectBindings & | getUserObjectBindings () const |
Return an instance of user objects binding associated with this class. More... | |
TrackVertexColourType | getVertexColourTracking (void) const |
Gets which material properties follow the vertex colour. More... | |
const GpuProgramPtr & | getVertexProgram (void) const |
Gets the vertex program used by this pass, only available after _load(). More... | |
const String & | getVertexProgramName (void) const |
Gets the name of the vertex program used by this pass. More... | |
GpuProgramParametersSharedPtr | getVertexProgramParameters (void) const |
Gets the vertex program parameters used by this pass. More... | |
bool | hasComputeProgram (void) const |
Returns true if this pass uses a programmable compute pipeline. More... | |
bool | hasFragmentProgram (void) const |
Returns true if this pass uses a programmable fragment pipeline. More... | |
bool | hasGeometryProgram (void) const |
Returns true if this pass uses a programmable geometry pipeline. More... | |
bool | hasShadowCasterFragmentProgram (void) const |
Returns true if this pass uses a shadow caster fragment program. More... | |
bool | hasShadowCasterVertexProgram (void) const |
Returns true if this pass uses a shadow caster vertex program. More... | |
bool | hasTessellationDomainProgram (void) const |
Returns true if this pass uses a programmable tessellation control pipeline. More... | |
bool | hasTessellationHullProgram (void) const |
Returns true if this pass uses a programmable tessellation control pipeline. More... | |
bool | hasVertexProgram (void) const |
Returns true if this pass uses a programmable vertex pipeline. More... | |
void | insertShadowContentTypeLookup (size_t textureUnitIndex) |
Call this function when a texture unit changed to type CONTENT_SHADOW. More... | |
bool | isAmbientOnly (void) const |
Returns whether this pass is ambient only. More... | |
bool | isLoaded (void) const |
Is this loaded? More... | |
bool | isPointAttenuationEnabled (void) const |
Returns whether points are attenuated with distance. More... | |
bool | isProgrammable (void) const |
Returns true if this pass is programmable i.e. includes either a vertex or fragment program. More... | |
bool | isTransparent (void) const |
Returns true if this pass has some element of transparency. More... | |
OGRE_MUTEX (mTexUnitChangeMutex) | |
OGRE_MUTEX (mGpuProgramChangeMutex) | |
OGRE_STATIC_MUTEX (msDirtyHashListMutex) | |
OGRE_STATIC_MUTEX (msPassGraveyardMutex) | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
Pass & | operator= (const Pass &oth) |
Operator = overload. More... | |
void | recreateShadowContentTypeLookup (void) |
Recreates the contents of mShadowContentTypeLookup from scratch. More... | |
void | removeAllTextureUnitStates (void) |
Removes all texture unit settings. More... | |
void | removeShadowContentTypeLookup (size_t textureUnitIndex) |
Call this function when a texture unit is removed (any type), or when a tex unit that used to be of type CONTENT_SHADOW, no longer is. More... | |
void | removeTextureUnitState (unsigned short index) |
Removes the indexed texture unit state from this pass. More... | |
void | setAlphaRejectFunction (CompareFunction func) |
Sets the alpha reject function. More... | |
void | setAlphaRejectValue (unsigned char val) |
Gets the alpha reject value. More... | |
void | setAmbient (Real red, Real green, Real blue) |
Sets the ambient colour reflectance properties of this pass. More... | |
void | setAmbient (const ColourValue &ambient) |
Sets the ambient colour reflectance properties of this pass. More... | |
void | setBlendblock (const HlmsBlendblock &blendblock) |
Changes the current blendblock for a new one. Pointer can't be null. More... | |
void | setComputeProgram (const String &name, bool resetParams=true) |
Sets the details of the compute program to use. More... | |
void | setComputeProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the Tessellation Evaluation program parameters. More... | |
void | setDiffuse (Real red, Real green, Real blue, Real alpha) |
Sets the diffuse colour reflectance properties of this pass. More... | |
void | setDiffuse (const ColourValue &diffuse) |
Sets the diffuse colour reflectance properties of this pass. More... | |
void | setEmissive (Real red, Real green, Real blue) |
Sets the amount of self-illumination an object has. More... | |
void | setEmissive (const ColourValue &emissive) |
Sets the amount of self-illumination an object has. More... | |
void | setFog (bool overrideScene, FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=0.001, Real linearStart=0.0, Real linearEnd=1.0) |
Sets the fogging mode applied to this pass. More... | |
void | setFragmentProgram (const String &name, bool resetParams=true) |
Sets the details of the fragment program to use. More... | |
void | setFragmentProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the fragment program parameters. More... | |
void | setGeometryProgram (const String &name, bool resetParams=true) |
Sets the details of the geometry program to use. More... | |
void | setGeometryProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the geometry program parameters. More... | |
void | setIteratePerLight (bool enabled, bool onlyForOneLightType=true, Light::LightTypes lightType=Light::LT_POINT) |
Sets whether or not this pass should iterate per light or number of lights which can affect the object being rendered. More... | |
void | setLightClipPlanesEnabled (bool enabled) |
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the light. More... | |
void | setLightCountPerIteration (unsigned short c) |
If light iteration is enabled, determine the number of lights per iteration. More... | |
void | setLightMask (uint32 mask) |
Sets the light mask which can be matched to specific light flags to be handled by this pass. More... | |
void | setLightScissoringEnabled (bool enabled) |
Sets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are being used in it. More... | |
void | setMacroblock (const HlmsMacroblock ¯oblock) |
Changes the current macroblock for a new one. Pointer can't be null. More... | |
void | setMaxSimultaneousLights (unsigned short maxLights) |
Sets the maximum number of lights to be used by this pass. More... | |
void | setName (const String &name) |
void | setPassIterationCount (const size_t count) |
set the number of iterations that this pass should perform when doing fast multi pass operation. More... | |
void | setPointAttenuation (bool enabled, Real constant=0.0f, Real linear=1.0f, Real quadratic=0.0f) |
Sets how points are attenuated with distance. More... | |
void | setPointMaxSize (Real max) |
Set the maximum point size, when point attenuation is in use. More... | |
void | setPointMinSize (Real min) |
Set the minimum point size, when point attenuation is in use. More... | |
void | setPointSize (Real ps) |
Sets the point size of this pass. More... | |
void | setPointSpritesEnabled (bool enabled) |
Sets whether or not rendering points using OT_POINT_LIST will render point sprites (textured quads) or plain points (dots). More... | |
virtual void | setPolygonModeOverrideable (bool override) |
Sets whether this pass's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
void | setSamplerblock (const HlmsSamplerblock &samplerblock) |
Set samplerblock for every texture unit. More... | |
void | setSelfIllumination (Real red, Real green, Real blue) |
Sets the amount of self-illumination an object has. More... | |
void | setSelfIllumination (const ColourValue &selfIllum) |
Sets the amount of self-illumination an object has. More... | |
void | setShadingMode (ShadeOptions mode) |
Sets the type of light shading required. More... | |
void | setShadowCasterFragmentProgram (const String &name) |
Sets the details of the fragment program to use when rendering as a shadow caster. More... | |
void | setShadowCasterFragmentProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the fragment program parameters for rendering as a shadow caster. More... | |
void | setShadowCasterVertexProgram (const String &name) |
Sets the details of the vertex program to use when rendering as a shadow caster. More... | |
void | setShadowCasterVertexProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the vertex program parameters for rendering as a shadow caster. More... | |
void | setShininess (Real val) |
Sets the shininess of the pass, affecting the size of specular highlights. More... | |
void | setSpecular (Real red, Real green, Real blue, Real alpha) |
Sets the specular colour reflectance properties of this pass. More... | |
void | setSpecular (const ColourValue &specular) |
Sets the specular colour reflectance properties of this pass. More... | |
void | setStartLight (unsigned short startLight) |
Sets the light index that this pass will start at in the light list. More... | |
void | setTessellationDomainProgram (const String &name, bool resetParams=true) |
Sets the details of the Tessellation domain program to use. More... | |
void | setTessellationDomainProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the Tessellation Domain program parameters. More... | |
void | setTessellationHullProgram (const String &name, bool resetParams=true) |
Support for shader model 5.0, hull and domain shaders. More... | |
void | setTessellationHullProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the Tessellation Hull program parameters. More... | |
void | setVertexColourTracking (TrackVertexColourType tracking) |
Sets which material properties follow the vertex colour. More... | |
void | setVertexProgram (const String &name, bool resetParams=true) |
Sets the details of the vertex program to use. More... | |
void | setVertexProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the vertex program parameters. More... | |
Static Public Member Functions | |
static void | _getBlendFlags (SceneBlendType type, SceneBlendFactor &source, SceneBlendFactor &dest) |
Used to get scene blending flags from a blending type. More... | |
Class defining a single pass of a Technique (of a Material), i.e.
a single rendering call.
typedef ConstVectorIterator<TextureUnitStates> Ogre::Pass::ConstTextureUnitStateIterator |
typedef VectorIterator<TextureUnitStates> Ogre::Pass::TextureUnitStateIterator |
Ogre::Pass::Pass | ( | Technique * | parent, |
unsigned short | index | ||
) |
Default constructor.
|
virtual |
|
static |
Used to get scene blending flags from a blending type.
HlmsDatablock* Ogre::Pass::_getDatablock | ( | void | ) | const |
Gets the internal datablock that acts as proxy for us.
size_t Ogre::Pass::_getTextureUnitWithContentTypeIndex | ( | TextureUnitState::ContentType | contentType, |
size_t | index | ||
) | const |
Gets the 'nth' texture which references the given content type.
void Ogre::Pass::_load | ( | void | ) |
Internal method for loading this pass.
void Ogre::Pass::_notifyIndex | ( | unsigned short | index | ) |
Internal method to adjust pass index.
void Ogre::Pass::_prepare | ( | void | ) |
Internal method for preparing to load this pass.
void Ogre::Pass::_unload | ( | void | ) |
Internal method for unloading this pass.
void Ogre::Pass::_unprepare | ( | void | ) |
Internal method for undoing the load preparartion for this pass.
void Ogre::Pass::_updateAutoParams | ( | const AutoParamDataSource * | source, |
uint16 | variabilityMask | ||
) | const |
Update automatic parameters.
source | The source of the parameters |
variabilityMask | A mask of GpuParamVariability which identifies which autos will need updating |
void Ogre::Pass::addTextureUnitState | ( | TextureUnitState * | state | ) |
Adds the passed in TextureUnitState, to the existing Pass.
state | The Texture Unit State to be attached to this pass. It must not be attached to another pass. |
bool Ogre::Pass::applyTextureAliases | ( | const AliasTextureNamePairList & | aliasList, |
const bool | apply = true |
||
) | const |
Applies texture names to Texture Unit State with matching texture name aliases.
All Texture Unit States within the pass are checked. If matching texture aliases are found then true is returned.
aliasList | is a map container of texture alias, texture name pairs |
apply | set true to apply the texture aliases else just test to see if texture alias matches are found. |
size_t Ogre::Pass::calculateSize | ( | void | ) | const |
TextureUnitState* Ogre::Pass::createTextureUnitState | ( | void | ) |
Inserts a new TextureUnitState object into the Pass.
TextureUnitState* Ogre::Pass::createTextureUnitState | ( | const String & | textureName, |
unsigned short | texCoordSet = 0 |
||
) |
Inserts a new TextureUnitState object into the Pass.
textureName | The basic name of the texture e.g. brickwall.jpg, stonefloor.png |
texCoordSet | The index of the texture coordinate set to use. |
|
inline |
Gets the alpha reject function.
See setAlphaRejectSettings for more information.
|
inline |
Gets the alpha reject value.
See setAlphaRejectSettings for more information.
References Ogre::Light::LT_POINT.
const ColourValue& Ogre::Pass::getAmbient | ( | void | ) | const |
Gets the ambient colour reflectance of the pass.
const HlmsBlendblock* Ogre::Pass::getBlendblock | ( | void | ) | const |
Retrieves current blendblock.
Don't const_cast the return value to modify it. HlmsDatablock remarks.
bool Ogre::Pass::getColourWriteEnabled | ( | void | ) | const |
Determines if colour buffer writing is enabled for this pass.
const GpuProgramPtr& Ogre::Pass::getComputeProgram | ( | void | ) | const |
Gets the Tessellation EHull program used by this pass, only available after _load().
const String& Ogre::Pass::getComputeProgramName | ( | void | ) | const |
Gets the name of the Tessellation Hull program used by this pass.
GpuProgramParametersSharedPtr Ogre::Pass::getComputeProgramParameters | ( | void | ) | const |
Gets the Tessellation Hull program parameters used by this pass.
const ColourValue& Ogre::Pass::getDiffuse | ( | void | ) | const |
Gets the diffuse colour reflectance of the pass.
|
inline |
Gets the self illumination colour of the pass.
const ColourValue& Ogre::Pass::getFogColour | ( | void | ) | const |
Returns the fog colour for the scene.
Real Ogre::Pass::getFogDensity | ( | void | ) | const |
Returns the fog density for this pass.
Real Ogre::Pass::getFogEnd | ( | void | ) | const |
Returns the fog end distance for this pass.
FogMode Ogre::Pass::getFogMode | ( | void | ) | const |
Returns the fog mode for this pass.
bool Ogre::Pass::getFogOverride | ( | void | ) | const |
Returns true if this pass is to override the scene fog settings.
Real Ogre::Pass::getFogStart | ( | void | ) | const |
Returns the fog start distance for this pass.
const GpuProgramPtr& Ogre::Pass::getFragmentProgram | ( | void | ) | const |
Gets the fragment program used by this pass, only available after _load().
const String& Ogre::Pass::getFragmentProgramName | ( | void | ) | const |
Gets the name of the fragment program used by this pass.
GpuProgramParametersSharedPtr Ogre::Pass::getFragmentProgramParameters | ( | void | ) | const |
Gets the fragment program parameters used by this pass.
const GpuProgramPtr& Ogre::Pass::getGeometryProgram | ( | void | ) | const |
Gets the geometry program used by this pass, only available after _load().
const String& Ogre::Pass::getGeometryProgramName | ( | void | ) | const |
Gets the name of the geometry program used by this pass.
GpuProgramParametersSharedPtr Ogre::Pass::getGeometryProgramParameters | ( | void | ) | const |
Gets the geometry program parameters used by this pass.
|
inline |
|
inline |
|
inline |
Does this pass run once for every light in range?
|
inline |
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the light.
unsigned short Ogre::Pass::getLightCountPerIteration | ( | void | ) | const |
If light iteration is enabled, determine the number of lights per iteration.
uint32 Ogre::Pass::getLightMask | ( | ) | const |
Gets the light mask controlling which lights are used for this pass.
|
inline |
Gets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are being used in it.
const HlmsMacroblock* Ogre::Pass::getMacroblock | ( | void | ) | const |
Retrieves current macroblock.
Don't const_cast the return value to modify it. HlmsDatablock remarks.
unsigned short Ogre::Pass::getMaxSimultaneousLights | ( | void | ) | const |
Gets the maximum number of lights to be used by this pass.
|
inline |
Get the name of the pass.
|
inline |
|
inline |
Returns the number of texture unit settings.
|
inline |
Gets the single light type this pass runs for if getIteratePerLight and getRunOnlyForOneLightType are both true.
|
inline |
Gets the pass iteration count value.
Real Ogre::Pass::getPointAttenuationConstant | ( | void | ) | const |
Returns the constant coefficient of point attenuation.
Real Ogre::Pass::getPointAttenuationLinear | ( | void | ) | const |
Returns the linear coefficient of point attenuation.
Real Ogre::Pass::getPointAttenuationQuadratic | ( | void | ) | const |
Returns the quadratic coefficient of point attenuation.
Real Ogre::Pass::getPointMaxSize | ( | void | ) | const |
Get the maximum point size, when point attenuation is in use.
Real Ogre::Pass::getPointMinSize | ( | void | ) | const |
Get the minimum point size, when point attenuation is in use.
Real Ogre::Pass::getPointSize | ( | void | ) | const |
Gets the point size of the pass.
bool Ogre::Pass::getPointSpritesEnabled | ( | void | ) | const |
Returns whether point sprites are enabled when rendering a point list.
|
inlinevirtual |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
References Ogre::FOG_NONE, and Ogre::ColourValue::White.
const String& Ogre::Pass::getResourceGroup | ( | void | ) | const |
Gets the resource group of the ultimate parent Material.
|
inline |
Does this pass run only for a single light type (if getIteratePerLight is true).
const ColourValue& Ogre::Pass::getSelfIllumination | ( | void | ) | const |
Gets the self illumination colour of the pass.
ShadeOptions Ogre::Pass::getShadingMode | ( | void | ) | const |
Returns the type of light shading to be used.
const GpuProgramPtr& Ogre::Pass::getShadowCasterFragmentProgram | ( | void | ) | const |
Gets the fragment program used by this pass when rendering shadow casters, only available after _load().
const String& Ogre::Pass::getShadowCasterFragmentProgramName | ( | void | ) | const |
Gets the name of the fragment program used by this pass when rendering shadow casters.
GpuProgramParametersSharedPtr Ogre::Pass::getShadowCasterFragmentProgramParameters | ( | void | ) | const |
Gets the fragment program parameters used by this pass when rendering shadow casters.
const GpuProgramPtr& Ogre::Pass::getShadowCasterVertexProgram | ( | void | ) | const |
Gets the vertex program used by this pass when rendering shadow casters, only available after _load().
const String& Ogre::Pass::getShadowCasterVertexProgramName | ( | void | ) | const |
Gets the name of the vertex program used by this pass when rendering shadow casters.
GpuProgramParametersSharedPtr Ogre::Pass::getShadowCasterVertexProgramParameters | ( | void | ) | const |
Gets the vertex program parameters used by this pass when rendering shadow casters.
Real Ogre::Pass::getShininess | ( | void | ) | const |
Gets the 'shininess' property of the pass (affects specular highlights).
const ColourValue& Ogre::Pass::getSpecular | ( | void | ) | const |
Gets the specular colour reflectance of the pass.
unsigned short Ogre::Pass::getStartLight | ( | void | ) | const |
Gets the light index that this pass will start at in the light list.
const GpuProgramPtr& Ogre::Pass::getTessellationDomainProgram | ( | void | ) | const |
Gets the Tessellation Domain program used by this pass, only available after _load().
const String& Ogre::Pass::getTessellationDomainProgramName | ( | void | ) | const |
Gets the name of the Domain Evaluation program used by this pass.
GpuProgramParametersSharedPtr Ogre::Pass::getTessellationDomainProgramParameters | ( | void | ) | const |
Gets the Tessellation Domain program parameters used by this pass.
const GpuProgramPtr& Ogre::Pass::getTessellationHullProgram | ( | void | ) | const |
Gets the Tessellation Hull program used by this pass, only available after _load().
const String& Ogre::Pass::getTessellationHullProgramName | ( | void | ) | const |
Gets the name of the Tessellation Hull program used by this pass.
GpuProgramParametersSharedPtr Ogre::Pass::getTessellationHullProgramParameters | ( | void | ) | const |
Gets the Tessellation Hull program parameters used by this pass.
TextureUnitState* Ogre::Pass::getTextureUnitState | ( | size_t | index | ) |
Retrieves a pointer to a texture unit state so it may be modified.
TextureUnitState* Ogre::Pass::getTextureUnitState | ( | const String & | name | ) |
Retrieves the Texture Unit State matching name.
Returns 0 if name match is not found.
const TextureUnitState* Ogre::Pass::getTextureUnitState | ( | size_t | index | ) | const |
Retrieves a const pointer to a texture unit state.
const TextureUnitState* Ogre::Pass::getTextureUnitState | ( | const String & | name | ) | const |
Retrieves the Texture Unit State matching name.
Returns 0 if name match is not found.
unsigned short Ogre::Pass::getTextureUnitStateIndex | ( | const TextureUnitState * | state | ) | const |
TextureUnitStateIterator Ogre::Pass::getTextureUnitStateIterator | ( | void | ) |
Get an iterator over the TextureUnitStates contained in this Pass.
ConstTextureUnitStateIterator Ogre::Pass::getTextureUnitStateIterator | ( | void | ) | const |
Get an iterator over the TextureUnitStates contained in this Pass.
|
inline |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
|
inline |
Return an instance of user objects binding associated with this class.
You can use it to associate one or more custom objects with this class instance.
TrackVertexColourType Ogre::Pass::getVertexColourTracking | ( | void | ) | const |
Gets which material properties follow the vertex colour.
const GpuProgramPtr& Ogre::Pass::getVertexProgram | ( | void | ) | const |
Gets the vertex program used by this pass, only available after _load().
const String& Ogre::Pass::getVertexProgramName | ( | void | ) | const |
Gets the name of the vertex program used by this pass.
GpuProgramParametersSharedPtr Ogre::Pass::getVertexProgramParameters | ( | void | ) | const |
Gets the vertex program parameters used by this pass.
|
inline |
Returns true if this pass uses a programmable compute pipeline.
|
inline |
Returns true if this pass uses a programmable fragment pipeline.
|
inline |
Returns true if this pass uses a programmable geometry pipeline.
|
inline |
Returns true if this pass uses a shadow caster fragment program.
|
inline |
Returns true if this pass uses a shadow caster vertex program.
|
inline |
Returns true if this pass uses a programmable tessellation control pipeline.
|
inline |
Returns true if this pass uses a programmable tessellation control pipeline.
|
inline |
Returns true if this pass uses a programmable vertex pipeline.
void Ogre::Pass::insertShadowContentTypeLookup | ( | size_t | textureUnitIndex | ) |
Call this function when a texture unit changed to type CONTENT_SHADOW.
textureUnitIndex | Texture Unit index of the TU being changed |
bool Ogre::Pass::isAmbientOnly | ( | void | ) | const |
Returns whether this pass is ambient only.
bool Ogre::Pass::isLoaded | ( | void | ) | const |
Is this loaded?
bool Ogre::Pass::isPointAttenuationEnabled | ( | void | ) | const |
Returns whether points are attenuated with distance.
|
inline |
Returns true if this pass is programmable i.e. includes either a vertex or fragment program.
bool Ogre::Pass::isTransparent | ( | void | ) | const |
Returns true if this pass has some element of transparency.
Ogre::Pass::OGRE_MUTEX | ( | mTexUnitChangeMutex | ) |
Ogre::Pass::OGRE_MUTEX | ( | mGpuProgramChangeMutex | ) |
Ogre::Pass::OGRE_STATIC_MUTEX | ( | msDirtyHashListMutex | ) |
Ogre::Pass::OGRE_STATIC_MUTEX | ( | msPassGraveyardMutex | ) |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
|
inlineinherited |
placement operator new
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
void Ogre::Pass::recreateShadowContentTypeLookup | ( | void | ) |
Recreates the contents of mShadowContentTypeLookup from scratch.
void Ogre::Pass::removeAllTextureUnitStates | ( | void | ) |
Removes all texture unit settings.
void Ogre::Pass::removeShadowContentTypeLookup | ( | size_t | textureUnitIndex | ) |
Call this function when a texture unit is removed (any type), or when a tex unit that used to be of type CONTENT_SHADOW, no longer is.
void Ogre::Pass::removeTextureUnitState | ( | unsigned short | index | ) |
Removes the indexed texture unit state from this pass.
void Ogre::Pass::setAlphaRejectFunction | ( | CompareFunction | func | ) |
Sets the alpha reject function.
See setAlphaRejectSettings for more information.
void Ogre::Pass::setAlphaRejectValue | ( | unsigned char | val | ) |
Gets the alpha reject value.
See setAlphaRejectSettings for more information.
Sets the ambient colour reflectance properties of this pass.
void Ogre::Pass::setAmbient | ( | const ColourValue & | ambient | ) |
Sets the ambient colour reflectance properties of this pass.
void Ogre::Pass::setBlendblock | ( | const HlmsBlendblock & | blendblock | ) |
Changes the current blendblock for a new one. Pointer can't be null.
void Ogre::Pass::setComputeProgram | ( | const String & | name, |
bool | resetParams = true |
||
) |
Sets the details of the compute program to use.
name | The name of the program - this must have been created using GpuProgramManager by the time that this Pass is loaded. If this parameter is blank, any compute program in this pass is disabled. |
resetParams | If true, this will create a fresh set of parameters from the new program being linked, so if you had previously set parameters you will have to set them again. If you set this to false, you must be absolutely sure that the parameters match perfectly, and in the case of named parameters refers to the indexes underlying them, not just the names. |
void Ogre::Pass::setComputeProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the Tessellation Evaluation program parameters.
Sets the diffuse colour reflectance properties of this pass.
void Ogre::Pass::setDiffuse | ( | const ColourValue & | diffuse | ) |
Sets the diffuse colour reflectance properties of this pass.
Sets the amount of self-illumination an object has.
|
inline |
Sets the amount of self-illumination an object has.
References Ogre::max(), and Ogre::min().
void Ogre::Pass::setFog | ( | bool | overrideScene, |
FogMode | mode = FOG_NONE , |
||
const ColourValue & | colour = ColourValue::White , |
||
Real | expDensity = 0.001 , |
||
Real | linearStart = 0.0 , |
||
Real | linearEnd = 1.0 |
||
) |
Sets the fogging mode applied to this pass.
overrideScene | If true, you authorise this pass to override the scene's fog params with it's own settings. If you specify false, so other parameters are necessary, and this is the default behaviour for passes. |
mode | Only applicable if overrideScene is true. You can disable fog which is turned on for the rest of the scene by specifying FOG_NONE. Otherwise, set a pass-specific fog mode as defined in the enum FogMode. |
colour | The colour of the fog. Either set this to the same as your viewport background colour, or to blend in with a skydome or skybox. |
expDensity | The density of the fog in FOG_EXP or FOG_EXP2 mode, as a value between 0 and 1. The default is 0.001. |
linearStart | Distance in world units at which linear fog starts to encroach. Only applicable if mode is FOG_LINEAR. |
linearEnd | Distance in world units at which linear fog becomes completely opaque. Only applicable if mode is FOG_LINEAR. |
void Ogre::Pass::setFragmentProgram | ( | const String & | name, |
bool | resetParams = true |
||
) |
Sets the details of the fragment program to use.
name | The name of the program - this must have been created using GpuProgramManager by the time that this Pass is loaded. If this parameter is blank, any fragment program in this pass is disabled. |
resetParams | If true, this will create a fresh set of parameters from the new program being linked, so if you had previously set parameters you will have to set them again. If you set this to false, you must be absolutely sure that the parameters match perfectly, and in the case of named parameters refers to the indexes underlying them, not just the names. |
void Ogre::Pass::setFragmentProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the fragment program parameters.
void Ogre::Pass::setGeometryProgram | ( | const String & | name, |
bool | resetParams = true |
||
) |
Sets the details of the geometry program to use.
name | The name of the program - this must have been created using GpuProgramManager by the time that this Pass is loaded. If this parameter is blank, any geometry program in this pass is disabled. |
resetParams | If true, this will create a fresh set of parameters from the new program being linked, so if you had previously set parameters you will have to set them again. If you set this to false, you must be absolutely sure that the parameters match perfectly, and in the case of named parameters refers to the indexes underlying them, not just the names. |
void Ogre::Pass::setGeometryProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the geometry program parameters.
void Ogre::Pass::setIteratePerLight | ( | bool | enabled, |
bool | onlyForOneLightType = true , |
||
Light::LightTypes | lightType = Light::LT_POINT |
||
) |
Sets whether or not this pass should iterate per light or number of lights which can affect the object being rendered.
enabled | Whether this feature is enabled |
onlyForOneLightType | If true, the pass will only be run for a single type of light, other light types will be ignored. |
lightType | The single light type which will be considered for this pass |
|
inline |
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the light.
void Ogre::Pass::setLightCountPerIteration | ( | unsigned short | c | ) |
If light iteration is enabled, determine the number of lights per iteration.
void Ogre::Pass::setLightMask | ( | uint32 | mask | ) |
Sets the light mask which can be matched to specific light flags to be handled by this pass.
|
inline |
Sets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are being used in it.
void Ogre::Pass::setMacroblock | ( | const HlmsMacroblock & | macroblock | ) |
Changes the current macroblock for a new one. Pointer can't be null.
void Ogre::Pass::setMaxSimultaneousLights | ( | unsigned short | maxLights | ) |
Sets the maximum number of lights to be used by this pass.
void Ogre::Pass::setName | ( | const String & | name | ) |
|
inline |
set the number of iterations that this pass should perform when doing fast multi pass operation.
count | number of iterations to perform fast multi pass operations. A value greater than 1 will cause the pass to be executed count number of times without changing the render state. This is very useful for passes that use programmable shaders that have to iterate more than once but don't need a render state change. Using multi pass can dramatically speed up rendering for materials that do things like fur, blur. A value of 1 turns off multi pass operation and the pass does the normal pass operation. |
void Ogre::Pass::setPointAttenuation | ( | bool | enabled, |
Real | constant = 0.0f , |
||
Real | linear = 1.0f , |
||
Real | quadratic = 0.0f |
||
) |
Sets how points are attenuated with distance.
enabled | Whether point attenuation is enabled |
constant,linear,quadratic | Parameters to the attenuation function defined above |
void Ogre::Pass::setPointMaxSize | ( | Real | max | ) |
Set the maximum point size, when point attenuation is in use.
void Ogre::Pass::setPointMinSize | ( | Real | min | ) |
Set the minimum point size, when point attenuation is in use.
void Ogre::Pass::setPointSize | ( | Real | ps | ) |
Sets the point size of this pass.
void Ogre::Pass::setPointSpritesEnabled | ( | bool | enabled | ) |
Sets whether or not rendering points using OT_POINT_LIST will render point sprites (textured quads) or plain points (dots).
enabled | True enables point sprites, false returns to normal point rendering. |
|
inlinevirtual |
Sets whether this pass's chosen detail level can be overridden (downgraded) by the camera setting.
override | true means that a lower camera detail will override this pass's detail level, false means it won't (default true). |
void Ogre::Pass::setSamplerblock | ( | const HlmsSamplerblock & | samplerblock | ) |
Set samplerblock for every texture unit.
Sets the amount of self-illumination an object has.
void Ogre::Pass::setSelfIllumination | ( | const ColourValue & | selfIllum | ) |
Sets the amount of self-illumination an object has.
void Ogre::Pass::setShadingMode | ( | ShadeOptions | mode | ) |
Sets the type of light shading required.
void Ogre::Pass::setShadowCasterFragmentProgram | ( | const String & | name | ) |
Sets the details of the fragment program to use when rendering as a shadow caster.
void Ogre::Pass::setShadowCasterFragmentProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the fragment program parameters for rendering as a shadow caster.
void Ogre::Pass::setShadowCasterVertexProgram | ( | const String & | name | ) |
Sets the details of the vertex program to use when rendering as a shadow caster.
void Ogre::Pass::setShadowCasterVertexProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the vertex program parameters for rendering as a shadow caster.
void Ogre::Pass::setShininess | ( | Real | val | ) |
Sets the shininess of the pass, affecting the size of specular highlights.
Sets the specular colour reflectance properties of this pass.
void Ogre::Pass::setSpecular | ( | const ColourValue & | specular | ) |
Sets the specular colour reflectance properties of this pass.
void Ogre::Pass::setStartLight | ( | unsigned short | startLight | ) |
Sets the light index that this pass will start at in the light list.
void Ogre::Pass::setTessellationDomainProgram | ( | const String & | name, |
bool | resetParams = true |
||
) |
Sets the details of the Tessellation domain program to use.
name | The name of the program - this must have been created using GpuProgramManager by the time that this Pass is loaded. If this parameter is blank, any Tessellation domain program in this pass is disabled. |
resetParams | If true, this will create a fresh set of parameters from the new program being linked, so if you had previously set parameters you will have to set them again. If you set this to false, you must be absolutely sure that the parameters match perfectly, and in the case of named parameters refers to the indexes underlying them, not just the names. |
void Ogre::Pass::setTessellationDomainProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the Tessellation Domain program parameters.
void Ogre::Pass::setTessellationHullProgram | ( | const String & | name, |
bool | resetParams = true |
||
) |
Support for shader model 5.0, hull and domain shaders.
Sets the details of the Tessellation control program to use.
name | The name of the program - this must have been created using GpuProgramManager by the time that this Pass is loaded. If this parameter is blank, any Tessellation Hull program in this pass is disabled. |
resetParams | If true, this will create a fresh set of parameters from the new program being linked, so if you had previously set parameters you will have to set them again. If you set this to false, you must be absolutely sure that the parameters match perfectly, and in the case of named parameters refers to the indexes underlying them, not just the names. |
void Ogre::Pass::setTessellationHullProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the Tessellation Hull program parameters.
void Ogre::Pass::setVertexColourTracking | ( | TrackVertexColourType | tracking | ) |
Sets which material properties follow the vertex colour.
void Ogre::Pass::setVertexProgram | ( | const String & | name, |
bool | resetParams = true |
||
) |
Sets the details of the vertex program to use.
name | The name of the program - this must have been created using GpuProgramManager by the time that this Pass is loaded. If this parameter is blank, any vertex program in this pass is disabled. |
resetParams | If true, this will create a fresh set of parameters from the new program being linked, so if you had previously set parameters you will have to set them again. If you set this to false, you must be absolutely sure that the parameters match perfectly, and in the case of named parameters refers to the indexes underlying them, not just the names. |
void Ogre::Pass::setVertexProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the vertex program parameters.