OGRE
1.10.12
Object-Oriented Graphics Rendering Engine
|
Class defining a single pass of a Technique (of a Material), i.e. More...
#include <OgrePass.h>
Classes | |
struct | HashFunc |
Definition of a functor for calculating the hashcode of a Pass. More... | |
Public Types | |
enum | BuiltinHashFunction { MIN_TEXTURE_CHANGE, MIN_GPU_PROGRAM_CHANGE } |
There are some default hash functions used to order passes so that render state changes are minimised, this enumerates them. More... | |
typedef ConstVectorIterator< TextureUnitStates > | ConstTextureUnitStateIterator |
typedef set< Pass * >::type | PassSet |
typedef VectorIterator< TextureUnitStates > | TextureUnitStateIterator |
typedef vector< TextureUnitState * >::type | TextureUnitStates |
Public Member Functions | |
Pass (Technique *parent, unsigned short index) | |
Default constructor. More... | |
Pass (Technique *parent, unsigned short index, const Pass &oth) | |
Copy constructor. More... | |
~Pass () | |
void | _dirtyHash (void) |
Mark the hash as dirty. More... | |
unsigned short | _getTextureUnitWithContentTypeIndex (TextureUnitState::ContentType contentType, unsigned short 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 | _notifyNeedsRecompile (void) |
Tells the pass that it needs recompilation. More... | |
void | _prepare (void) |
Internal method for preparing to load this pass. More... | |
void | _recalculateHash (void) |
Internal method for recalculating the hash. More... | |
Pass * | _split (unsigned short numUnits) |
Splits this Pass to one which can be handled in the number of texture units specified. 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 (const String &textureName, unsigned short texCoordSet=0) |
Inserts a new TextureUnitState object into the Pass. More... | |
TextureUnitState * | createTextureUnitState (void) |
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... | |
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... | |
CullingMode | getCullingMode (void) const |
Returns the culling mode for geometry rendered with this pass. More... | |
float | getDepthBiasConstant (void) const |
Retrieves the const depth bias value as set by setDepthBias. More... | |
float | getDepthBiasSlopeScale (void) const |
Retrieves the slope-scale depth bias value as set by setDepthBias. More... | |
bool | getDepthCheckEnabled (void) const |
Returns whether or not this pass renders with depth-buffer checking on or not. More... | |
CompareFunction | getDepthFunction (void) const |
Returns the function used to compare depth values when depth checking is on. More... | |
bool | getDepthWriteEnabled (void) const |
Returns whether or not this pass renders with depth-buffer writing on or not. More... | |
SceneBlendFactor | getDestBlendFactor () const |
Retrieves the destination blending factor for the material (as set using Materiall::setSceneBlending). More... | |
SceneBlendFactor | getDestBlendFactorAlpha () const |
Retrieves the alpha destination blending factor for the material (as set using Materiall::setSeparateSceneBlending). 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... | |
const GpuProgramPtr | getGpuProgram (GpuProgramType programType) const |
uint32 | getHash (void) const |
Gets the 'hash' of this pass, ie a precomputed number to use for sorting. More... | |
IlluminationStage | getIlluminationStage () const |
Get the manually assigned illumination stage, if any. More... | |
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... | |
float | getIterationDepthBias () const |
Gets a factor which derives an additional depth bias from the number of times a pass is iterated. 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... | |
bool | getLightingEnabled (void) const |
Returns whether or not dynamic lighting is enabled. 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... | |
ManualCullingMode | getManualCullingMode (void) const |
Retrieves the manual culling mode for this pass. 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... | |
bool | getNormaliseNormals (void) const |
Returns true if this pass has auto-normalisation of normals set. More... | |
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... | |
PolygonMode | getPolygonMode (void) const |
Returns the type of light shading to be used. More... | |
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... | |
SceneBlendOperation | getSceneBlendingOperation () const |
Returns the current blending operation. More... | |
SceneBlendOperation | getSceneBlendingOperationAlpha () const |
Returns the current alpha blending operation. 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... | |
const GpuProgramPtr & | getShadowReceiverFragmentProgram (void) const |
Gets the fragment program used by this pass when rendering shadow receivers, only available after _load(). More... | |
const String & | getShadowReceiverFragmentProgramName (void) const |
Gets the name of the fragment program used by this pass when rendering shadow receivers. More... | |
GpuProgramParametersSharedPtr | getShadowReceiverFragmentProgramParameters (void) const |
Gets the fragment program parameters used by this pass when rendering shadow receivers. More... | |
const GpuProgramPtr & | getShadowReceiverVertexProgram (void) const |
Gets the vertex program used by this pass when rendering shadow receivers, only available after _load(). More... | |
const String & | getShadowReceiverVertexProgramName (void) const |
Gets the name of the vertex program used by this pass when rendering shadow receivers. More... | |
GpuProgramParametersSharedPtr | getShadowReceiverVertexProgramParameters (void) const |
Gets the vertex program parameters used by this pass when rendering shadow receivers. More... | |
Real | getShininess (void) const |
Gets the 'shininess' property of the pass (affects specular highlights). More... | |
SceneBlendFactor | getSourceBlendFactor () const |
Retrieves the source blending factor for the material (as set using Materiall::setSceneBlending). More... | |
SceneBlendFactor | getSourceBlendFactorAlpha () const |
Retrieves the alpha source blending factor for the material (as set using Materiall::setSeparateSceneBlending). 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 (unsigned short 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 (unsigned short 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... | |
const TextureUnitStates & | getTextureUnitStates () const |
Get the TextureUnitStates contained in this Pass. More... | |
bool | getTransparentSortingEnabled (void) const |
Returns whether or not transparent sorting is enabled. More... | |
bool | getTransparentSortingForced (void) const |
Returns whether or not transparent sorting is forced. 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 | hasGpuProgram (GpuProgramType programType) |
bool | hasSeparateSceneBlending () const |
Return true if this pass uses separate scene blending. More... | |
bool | hasSeparateSceneBlendingOperations () const |
Returns true if this pass uses separate scene blending operations. 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 | hasShadowReceiverFragmentProgram (void) const |
Returns true if this pass uses a shadow receiver fragment program. More... | |
bool | hasShadowReceiverVertexProgram (void) const |
Returns true if this pass uses a shadow receiver 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... | |
bool | isAlphaToCoverageEnabled () const |
Gets whether to use alpha to coverage (A2C) when blending alpha rejected values. 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) | |
Pass & | operator= (const Pass &oth) |
Operator = overload. More... | |
void | queueForDeletion (void) |
Queue this pass for deletion when appropriate. More... | |
void | removeAllTextureUnitStates (void) |
Removes all texture unit settings. 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 | setAlphaRejectSettings (CompareFunction func, unsigned char value, bool alphaToCoverageEnabled=false) |
Sets the way the pass will have use alpha to totally reject pixels from the pipeline. More... | |
void | setAlphaRejectValue (unsigned char val) |
Gets the alpha reject value. More... | |
void | setAlphaToCoverageEnabled (bool enabled) |
Sets whether to use alpha to coverage (A2C) when blending alpha rejected values. More... | |
void | setAmbient (Real red, Real green, Real blue) |
Sets the ambient colour reflectance properties of this pass. More... | |
void | setAmbient (const ColourValue &ambient) |
void | setColourWriteEnabled (bool enabled) |
Sets whether or not colour buffer writing is enabled for this Pass. 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 | setCullingMode (CullingMode mode) |
Sets the culling mode for this pass based on the 'vertex winding'. More... | |
void | setDepthBias (float constantBias, float slopeScaleBias=0.0f) |
Sets the depth bias to be used for this material. More... | |
void | setDepthCheckEnabled (bool enabled) |
Sets whether or not this pass renders with depth-buffer checking on or not. More... | |
void | setDepthFunction (CompareFunction func) |
Sets the function used to compare depth values when depth checking is on. More... | |
void | setDepthWriteEnabled (bool enabled) |
Sets whether or not this pass renders with depth-buffer writing on or not. 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) |
void | setEmissive (Real red, Real green, Real blue) |
Sets the amount of self-illumination an object has. More... | |
void | setEmissive (const ColourValue &emissive) |
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 | setIlluminationStage (IlluminationStage is) |
Manually set which illumination stage this pass is a member of. 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 | setIterationDepthBias (float biasPerIteration) |
Sets a factor which derives an additional depth bias from the number of times a pass is iterated. 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 | setLightingEnabled (bool enabled) |
Sets whether or not dynamic lighting is enabled. 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 | setManualCullingMode (ManualCullingMode mode) |
Sets the manual culling mode, performed by CPU rather than hardware. More... | |
void | setMaxSimultaneousLights (unsigned short maxLights) |
Sets the maximum number of lights to be used by this pass. More... | |
void | setName (const String &name) |
Set the name of the pass. More... | |
void | setNormaliseNormals (bool normalise) |
If set to true, this forces normals to be normalised dynamically by the hardware for this pass. More... | |
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... | |
void | setPolygonMode (PolygonMode mode) |
Sets the type of polygon rendering required. More... | |
void | setPolygonModeOverrideable (bool override) |
Sets whether this pass's chosen detail level can be overridden (downgraded) by the camera setting. More... | |
void | setSceneBlending (const SceneBlendType sbt) |
Sets the kind of blending this pass has with the existing contents of the scene. More... | |
void | setSceneBlending (const SceneBlendFactor sourceFactor, const SceneBlendFactor destFactor) |
Allows very fine control of blending this Pass with the existing contents of the scene. More... | |
void | setSceneBlendingOperation (SceneBlendOperation op) |
Sets the specific operation used to blend source and destination pixels together. More... | |
void | setSelfIllumination (Real red, Real green, Real blue) |
Sets the amount of self-illumination an object has. More... | |
void | setSelfIllumination (const ColourValue &selfIllum) |
void | setSeparateSceneBlending (const SceneBlendType sbt, const SceneBlendType sbta) |
Sets the kind of blending this pass has with the existing contents of the scene, separately for color and alpha channels. More... | |
void | setSeparateSceneBlending (const SceneBlendFactor sourceFactor, const SceneBlendFactor destFactor, const SceneBlendFactor sourceFactorAlpha, const SceneBlendFactor destFactorAlpha) |
Allows very fine control of blending this Pass with the existing contents of the scene. More... | |
void | setSeparateSceneBlendingOperation (SceneBlendOperation op, SceneBlendOperation alphaOp) |
Sets the specific operation used to blend source and destination pixels together. 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 | setShadowReceiverFragmentProgram (const String &name) |
This method allows you to specify a fragment program for use when rendering a texture shadow receiver. More... | |
void | setShadowReceiverFragmentProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the fragment program parameters for rendering as a shadow receiver. More... | |
void | setShadowReceiverVertexProgram (const String &name) |
Sets the details of the vertex program to use when rendering as a shadow receiver. More... | |
void | setShadowReceiverVertexProgramParameters (GpuProgramParametersSharedPtr params) |
Sets the vertex program parameters for rendering as a shadow receiver. 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) |
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 | setTextureAnisotropy (unsigned int maxAniso) |
Sets the anisotropy level to be used for all textures. More... | |
void | setTextureFiltering (TextureFilterOptions filterType) |
Set texture filtering for every texture unit. More... | |
void | setTransparentSortingEnabled (bool enabled) |
Sets whether or not transparent sorting is enabled. More... | |
void | setTransparentSortingForced (bool enabled) |
Sets whether or not transparent sorting is forced. 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 | clearDirtyHashList (void) |
Static method to reset the list of passes which need their hash values recalculated. More... | |
static HashFunc * | getBuiltinHashFunction (BuiltinHashFunction builtin) |
Get the builtin hash function. More... | |
static const PassSet & | getDirtyHashList (void) |
Static method to retrieve all the Passes which need their hash values recalculated. More... | |
static HashFunc * | getHashFunction (void) |
Get the hash function used for all passes. More... | |
static const PassSet & | getPassGraveyard (void) |
Static method to retrieve all the Passes which are pending deletion. More... | |
static void | processPendingPassUpdates (void) |
Process all dirty and pending deletion passes. More... | |
static void | setHashFunction (BuiltinHashFunction builtin) |
Sets one of the default hash functions to be used. More... | |
static void | setHashFunction (HashFunc *hashFunc) |
Set the hash function used for all passes. More... | |
Class defining a single pass of a Technique (of a Material), i.e.
a single rendering call.
typedef vector<TextureUnitState*>::type Ogre::Pass::TextureUnitStates |
typedef set<Pass*>::type Ogre::Pass::PassSet |
There are some default hash functions used to order passes so that render state changes are minimised, this enumerates them.
Ogre::Pass::Pass | ( | Technique * | parent, |
unsigned short | index | ||
) |
Default constructor.
Ogre::Pass::~Pass | ( | ) |
Ogre::Pass::OGRE_STATIC_MUTEX | ( | msDirtyHashListMutex | ) |
Ogre::Pass::OGRE_STATIC_MUTEX | ( | msPassGraveyardMutex | ) |
Ogre::Pass::OGRE_MUTEX | ( | mTexUnitChangeMutex | ) |
Ogre::Pass::OGRE_MUTEX | ( | mGpuProgramChangeMutex | ) |
|
inline |
Returns true if this pass is programmable i.e. includes either a vertex or fragment program.
|
inline |
Returns true if this pass uses a programmable vertex 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 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 compute pipeline.
|
inline |
Returns true if this pass uses a shadow caster vertex program.
|
inline |
Returns true if this pass uses a shadow caster fragment program.
|
inline |
Returns true if this pass uses a shadow receiver vertex program.
|
inline |
Returns true if this pass uses a shadow receiver fragment program.
size_t Ogre::Pass::calculateSize | ( | void | ) | const |
|
inline |
void Ogre::Pass::setName | ( | const String & | name | ) |
Set the name of the pass.
|
inline |
Get the name of the pass.
Sets the ambient colour reflectance properties of this pass.
void Ogre::Pass::setAmbient | ( | const ColourValue & | ambient | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sets the diffuse colour reflectance properties of this pass.
void Ogre::Pass::setDiffuse | ( | const ColourValue & | diffuse | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sets the specular colour reflectance properties of this pass.
void Ogre::Pass::setSpecular | ( | const ColourValue & | specular | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void Ogre::Pass::setShininess | ( | Real | val | ) |
Sets the shininess of the pass, affecting the size of specular highlights.
Sets the amount of self-illumination an object has.
Sets the amount of self-illumination an object has.
void Ogre::Pass::setSelfIllumination | ( | const ColourValue & | selfIllum | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void Ogre::Pass::setVertexColourTracking | ( | TrackVertexColourType | tracking | ) |
Sets which material properties follow the vertex colour.
Real Ogre::Pass::getPointSize | ( | void | ) | const |
Gets the point size of the pass.
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. |
bool Ogre::Pass::getPointSpritesEnabled | ( | void | ) | const |
Returns whether point sprites are enabled when rendering a point list.
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 |
bool Ogre::Pass::isPointAttenuationEnabled | ( | void | ) | const |
Returns whether points are attenuated with distance.
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.
void Ogre::Pass::setPointMinSize | ( | Real | min | ) |
Set the minimum 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.
void Ogre::Pass::setPointMaxSize | ( | Real | max | ) |
Set the maximum point size, when point attenuation is in use.
Real Ogre::Pass::getPointMaxSize | ( | void | ) | const |
Get the maximum point size, when point attenuation is in use.
const ColourValue& Ogre::Pass::getAmbient | ( | void | ) | const |
Gets the ambient colour reflectance of the pass.
const ColourValue& Ogre::Pass::getDiffuse | ( | void | ) | const |
Gets the diffuse colour reflectance of the pass.
const ColourValue& Ogre::Pass::getSpecular | ( | void | ) | const |
Gets the specular colour reflectance of the pass.
const ColourValue& Ogre::Pass::getSelfIllumination | ( | void | ) | const |
Gets the self illumination colour of the pass.
|
inline |
Gets the self illumination colour of the pass.
Real Ogre::Pass::getShininess | ( | void | ) | const |
Gets the 'shininess' property of the pass (affects specular highlights).
TrackVertexColourType Ogre::Pass::getVertexColourTracking | ( | void | ) | const |
Gets which material properties follow the vertex colour.
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. |
TextureUnitState* Ogre::Pass::createTextureUnitState | ( | void | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
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. |
TextureUnitState* Ogre::Pass::getTextureUnitState | ( | unsigned short | 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 | ( | unsigned short | 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 |
Get the TextureUnitStates contained in this Pass.
void Ogre::Pass::removeTextureUnitState | ( | unsigned short | index | ) |
Removes the indexed texture unit state from this pass.
void Ogre::Pass::removeAllTextureUnitStates | ( | void | ) |
Removes all texture unit settings.
|
inline |
Returns the number of texture unit settings.
void Ogre::Pass::setSceneBlending | ( | const SceneBlendType | sbt | ) |
Sets the kind of blending this pass has with the existing contents of the scene.
sbt | One of the predefined SceneBlendType blending types |
void Ogre::Pass::setSeparateSceneBlending | ( | const SceneBlendType | sbt, |
const SceneBlendType | sbta | ||
) |
Sets the kind of blending this pass has with the existing contents of the scene, separately for color and alpha channels.
sbt | One of the predefined SceneBlendType blending types for the color channel |
sbta | One of the predefined SceneBlendType blending types for the alpha channel |
void Ogre::Pass::setSceneBlending | ( | const SceneBlendFactor | sourceFactor, |
const SceneBlendFactor | destFactor | ||
) |
Allows very fine control of blending this Pass with the existing contents of the scene.
sourceFactor | The source factor in the above calculation, i.e. multiplied by the texture colour components. |
destFactor | The destination factor in the above calculation, i.e. multiplied by the pixel colour components. |
void Ogre::Pass::setSeparateSceneBlending | ( | const SceneBlendFactor | sourceFactor, |
const SceneBlendFactor | destFactor, | ||
const SceneBlendFactor | sourceFactorAlpha, | ||
const SceneBlendFactor | destFactorAlpha | ||
) |
Allows very fine control of blending this Pass with the existing contents of the scene.
sourceFactor | The source factor in the above calculation, i.e. multiplied by the texture colour components. |
destFactor | The destination factor in the above calculation, i.e. multiplied by the pixel colour components. |
sourceFactorAlpha | The alpha source factor in the above calculation, i.e. multiplied by the texture alpha component. |
destFactorAlpha | The alpha destination factor in the above calculation, i.e. multiplied by the pixel alpha component. |
bool Ogre::Pass::hasSeparateSceneBlending | ( | ) | const |
Return true if this pass uses separate scene blending.
SceneBlendFactor Ogre::Pass::getSourceBlendFactor | ( | ) | const |
Retrieves the source blending factor for the material (as set using Materiall::setSceneBlending).
SceneBlendFactor Ogre::Pass::getDestBlendFactor | ( | ) | const |
Retrieves the destination blending factor for the material (as set using Materiall::setSceneBlending).
SceneBlendFactor Ogre::Pass::getSourceBlendFactorAlpha | ( | ) | const |
Retrieves the alpha source blending factor for the material (as set using Materiall::setSeparateSceneBlending).
SceneBlendFactor Ogre::Pass::getDestBlendFactorAlpha | ( | ) | const |
Retrieves the alpha destination blending factor for the material (as set using Materiall::setSeparateSceneBlending).
void Ogre::Pass::setSceneBlendingOperation | ( | SceneBlendOperation | op | ) |
Sets the specific operation used to blend source and destination pixels together.
op | The blending operation mode to use for this pass |
void Ogre::Pass::setSeparateSceneBlendingOperation | ( | SceneBlendOperation | op, |
SceneBlendOperation | alphaOp | ||
) |
Sets the specific operation used to blend source and destination pixels together.
op | The blending operation mode to use for color channels in this pass |
alphaOp | The blending operation mode to use for alpha channels in this pass |
bool Ogre::Pass::hasSeparateSceneBlendingOperations | ( | ) | const |
Returns true if this pass uses separate scene blending operations.
SceneBlendOperation Ogre::Pass::getSceneBlendingOperation | ( | ) | const |
Returns the current blending operation.
SceneBlendOperation Ogre::Pass::getSceneBlendingOperationAlpha | ( | ) | const |
Returns the current alpha blending operation.
bool Ogre::Pass::isTransparent | ( | void | ) | const |
Returns true if this pass has some element of transparency.
void Ogre::Pass::setDepthCheckEnabled | ( | bool | enabled | ) |
Sets whether or not this pass renders with depth-buffer checking on or not.
bool Ogre::Pass::getDepthCheckEnabled | ( | void | ) | const |
Returns whether or not this pass renders with depth-buffer checking on or not.
void Ogre::Pass::setDepthWriteEnabled | ( | bool | enabled | ) |
Sets whether or not this pass renders with depth-buffer writing on or not.
bool Ogre::Pass::getDepthWriteEnabled | ( | void | ) | const |
Returns whether or not this pass renders with depth-buffer writing on or not.
void Ogre::Pass::setDepthFunction | ( | CompareFunction | func | ) |
Sets the function used to compare depth values when depth checking is on.
CompareFunction Ogre::Pass::getDepthFunction | ( | void | ) | const |
Returns the function used to compare depth values when depth checking is on.
void Ogre::Pass::setColourWriteEnabled | ( | bool | enabled | ) |
Sets whether or not colour buffer writing is enabled for this Pass.
bool Ogre::Pass::getColourWriteEnabled | ( | void | ) | const |
Determines if colour buffer writing is enabled for this pass.
void Ogre::Pass::setCullingMode | ( | CullingMode | mode | ) |
Sets the culling mode for this pass based on the 'vertex winding'.
CullingMode Ogre::Pass::getCullingMode | ( | void | ) | const |
Returns the culling mode for geometry rendered with this pass.
See setCullingMode for more information.
void Ogre::Pass::setManualCullingMode | ( | ManualCullingMode | mode | ) |
Sets the manual culling mode, performed by CPU rather than hardware.
mode | The mode to use - see enum ManualCullingMode for details |
ManualCullingMode Ogre::Pass::getManualCullingMode | ( | void | ) | const |
Retrieves the manual culling mode for this pass.
void Ogre::Pass::setLightingEnabled | ( | bool | enabled | ) |
Sets whether or not dynamic lighting is enabled.
enabled | If true, dynamic lighting is performed on geometry with normals supplied, geometry without normals will not be displayed. |
bool Ogre::Pass::getLightingEnabled | ( | void | ) | const |
Returns whether or not dynamic lighting is enabled.
void Ogre::Pass::setMaxSimultaneousLights | ( | unsigned short | maxLights | ) |
Sets the maximum number of lights to be used by this pass.
unsigned short Ogre::Pass::getMaxSimultaneousLights | ( | void | ) | const |
Gets the maximum number of lights to be used by this pass.
void Ogre::Pass::setStartLight | ( | unsigned short | startLight | ) |
Sets the light index that this pass will start at in the light list.
unsigned short Ogre::Pass::getStartLight | ( | void | ) | const |
Gets the light index that this pass will start at in the light list.
void Ogre::Pass::setLightMask | ( | uint32 | mask | ) |
Sets the light mask which can be matched to specific light flags to be handled by this pass.
uint32 Ogre::Pass::getLightMask | ( | ) | const |
Gets the light mask controlling which lights are used for this pass.
void Ogre::Pass::setShadingMode | ( | ShadeOptions | mode | ) |
Sets the type of light shading required.
ShadeOptions Ogre::Pass::getShadingMode | ( | void | ) | const |
Returns the type of light shading to be used.
void Ogre::Pass::setPolygonMode | ( | PolygonMode | mode | ) |
Sets the type of polygon rendering required.
PolygonMode Ogre::Pass::getPolygonMode | ( | void | ) | const |
Returns the type of light shading to be used.
|
inline |
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). |
|
inline |
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setting.
References Ogre::FOG_NONE, and Ogre::ColourValue::White.
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. |
bool Ogre::Pass::getFogOverride | ( | void | ) | const |
Returns true if this pass is to override the scene fog settings.
FogMode Ogre::Pass::getFogMode | ( | void | ) | const |
Returns the fog mode for this pass.
const ColourValue& Ogre::Pass::getFogColour | ( | void | ) | const |
Returns the fog colour for the scene.
Real Ogre::Pass::getFogStart | ( | void | ) | const |
Returns the fog start distance for this pass.
Real Ogre::Pass::getFogEnd | ( | void | ) | const |
Returns the fog end distance for this pass.
Real Ogre::Pass::getFogDensity | ( | void | ) | const |
Returns the fog density for this pass.
void Ogre::Pass::setDepthBias | ( | float | constantBias, |
float | slopeScaleBias = 0.0f |
||
) |
Sets the depth bias to be used for this material.
finalBias = maxSlope * slopeScaleBias + constantBiasNote that slope scale bias, whilst more accurate, may be ignored by old hardware.
constantBias | The constant bias value, expressed as a factor of the minimum observable depth |
slopeScaleBias | The slope-relative bias value, expressed as a factor of the depth slope |
float Ogre::Pass::getDepthBiasConstant | ( | void | ) | const |
Retrieves the const depth bias value as set by setDepthBias.
float Ogre::Pass::getDepthBiasSlopeScale | ( | void | ) | const |
Retrieves the slope-scale depth bias value as set by setDepthBias.
void Ogre::Pass::setIterationDepthBias | ( | float | biasPerIteration | ) |
Sets a factor which derives an additional depth bias from the number of times a pass is iterated.
float Ogre::Pass::getIterationDepthBias | ( | ) | const |
Gets a factor which derives an additional depth bias from the number of times a pass is iterated.
void Ogre::Pass::setAlphaRejectSettings | ( | CompareFunction | func, |
unsigned char | value, | ||
bool | alphaToCoverageEnabled = false |
||
) |
Sets the way the pass will have use alpha to totally reject pixels from the pipeline.
func | The comparison which must pass for the pixel to be written. |
value | 1 byte value against which alpha values will be tested(0-255) |
alphaToCoverageEnabled | Whether to enable alpha to coverage support |
void Ogre::Pass::setAlphaRejectFunction | ( | CompareFunction | func | ) |
Sets the alpha reject function.
void Ogre::Pass::setAlphaRejectValue | ( | unsigned char | val | ) |
Gets the alpha reject value.
|
inline |
Gets the alpha reject function.
|
inline |
Gets the alpha reject value.
void Ogre::Pass::setAlphaToCoverageEnabled | ( | bool | enabled | ) |
Sets whether to use alpha to coverage (A2C) when blending alpha rejected values.
|
inline |
Gets whether to use alpha to coverage (A2C) when blending alpha rejected values.
References Ogre::Light::LT_POINT.
void Ogre::Pass::setTransparentSortingEnabled | ( | bool | enabled | ) |
Sets whether or not transparent sorting is enabled.
enabled | If false depth sorting of this material will be disabled. |
bool Ogre::Pass::getTransparentSortingEnabled | ( | void | ) | const |
Returns whether or not transparent sorting is enabled.
void Ogre::Pass::setTransparentSortingForced | ( | bool | enabled | ) |
Sets whether or not transparent sorting is forced.
enabled | If true depth sorting of this material will be depend only on the value of getTransparentSortingEnabled(). |
bool Ogre::Pass::getTransparentSortingForced | ( | void | ) | const |
Returns whether or not transparent sorting is forced.
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 |
Does this pass run once for every light in range?
|
inline |
Does this pass run only for a single light type (if getIteratePerLight is true).
|
inline |
Gets the single light type this pass runs for if getIteratePerLight and getRunOnlyForOneLightType are both true.
void Ogre::Pass::setLightCountPerIteration | ( | unsigned short | c | ) |
If light iteration is enabled, determine the number of lights per iteration.
unsigned short Ogre::Pass::getLightCountPerIteration | ( | void | ) | const |
If light iteration is enabled, determine the number of lights per iteration.
const String& Ogre::Pass::getResourceGroup | ( | void | ) | const |
Gets the resource group of the ultimate parent Material.
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. |
const GpuProgramPtr Ogre::Pass::getGpuProgram | ( | GpuProgramType | programType | ) | const |
bool Ogre::Pass::hasGpuProgram | ( | GpuProgramType | programType | ) |
void Ogre::Pass::setVertexProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the vertex program parameters.
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.
const GpuProgramPtr& Ogre::Pass::getVertexProgram | ( | void | ) | const |
Gets the vertex program used by this pass, only available after _load().
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.
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.
const GpuProgramPtr& Ogre::Pass::getShadowCasterVertexProgram | ( | void | ) | const |
Gets the vertex program used by this pass when rendering shadow casters, only available after _load().
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.
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::getShadowCasterFragmentProgram | ( | void | ) | const |
Gets the fragment program used by this pass when rendering shadow casters, only available after _load().
void Ogre::Pass::setShadowReceiverVertexProgram | ( | const String & | name | ) |
Sets the details of the vertex program to use when rendering as a shadow receiver.
void Ogre::Pass::setShadowReceiverVertexProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the vertex program parameters for rendering as a shadow receiver.
void Ogre::Pass::setShadowReceiverFragmentProgram | ( | const String & | name | ) |
This method allows you to specify a fragment program for use when rendering a texture shadow receiver.
void Ogre::Pass::setShadowReceiverFragmentProgramParameters | ( | GpuProgramParametersSharedPtr | params | ) |
Sets the fragment program parameters for rendering as a shadow receiver.
const String& Ogre::Pass::getShadowReceiverVertexProgramName | ( | void | ) | const |
Gets the name of the vertex program used by this pass when rendering shadow receivers.
GpuProgramParametersSharedPtr Ogre::Pass::getShadowReceiverVertexProgramParameters | ( | void | ) | const |
Gets the vertex program parameters used by this pass when rendering shadow receivers.
const GpuProgramPtr& Ogre::Pass::getShadowReceiverVertexProgram | ( | void | ) | const |
Gets the vertex program used by this pass when rendering shadow receivers, only available after _load().
const String& Ogre::Pass::getShadowReceiverFragmentProgramName | ( | void | ) | const |
Gets the name of the fragment program used by this pass when rendering shadow receivers.
GpuProgramParametersSharedPtr Ogre::Pass::getShadowReceiverFragmentProgramParameters | ( | void | ) | const |
Gets the fragment program parameters used by this pass when rendering shadow receivers.
const GpuProgramPtr& Ogre::Pass::getShadowReceiverFragmentProgram | ( | void | ) | const |
Gets the fragment program used by this pass when rendering shadow receivers, only available after _load().
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.
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::getFragmentProgram | ( | void | ) | const |
Gets the fragment program used by this pass, only available after _load().
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.
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.
const GpuProgramPtr& Ogre::Pass::getGeometryProgram | ( | void | ) | const |
Gets the geometry program used by this pass, only available after _load().
Pass* Ogre::Pass::_split | ( | unsigned short | numUnits | ) |
Splits this Pass to one which can be handled in the number of texture units specified.
numUnits | The target number of texture units |
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::_unprepare | ( | void | ) |
Internal method for undoing the load preparartion for this pass.
void Ogre::Pass::_load | ( | void | ) |
Internal method for loading this pass.
void Ogre::Pass::_unload | ( | void | ) |
Internal method for unloading this pass.
bool Ogre::Pass::isLoaded | ( | void | ) | const |
Is this loaded?
|
inline |
Gets the 'hash' of this pass, ie a precomputed number to use for sorting.
void Ogre::Pass::_dirtyHash | ( | void | ) |
Mark the hash as dirty.
void Ogre::Pass::_recalculateHash | ( | void | ) |
Internal method for recalculating the hash.
void Ogre::Pass::_notifyNeedsRecompile | ( | void | ) |
Tells the pass that it needs recompilation.
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 |
unsigned short Ogre::Pass::_getTextureUnitWithContentTypeIndex | ( | TextureUnitState::ContentType | contentType, |
unsigned short | index | ||
) | const |
Gets the 'nth' texture which references the given content type.
void Ogre::Pass::setTextureFiltering | ( | TextureFilterOptions | filterType | ) |
Set texture filtering for every texture unit.
void Ogre::Pass::setTextureAnisotropy | ( | unsigned int | maxAniso | ) |
Sets the anisotropy level to be used for all textures.
|
inline |
If set to true, this forces normals to be normalised dynamically by the hardware for this pass.
|
inline |
Returns true if this pass has auto-normalisation of normals set.
|
inlinestatic |
Static method to retrieve all the Passes which need their hash values recalculated.
|
inlinestatic |
Static method to retrieve all the Passes which are pending deletion.
|
static |
Static method to reset the list of passes which need their hash values recalculated.
|
static |
Process all dirty and pending deletion passes.
void Ogre::Pass::queueForDeletion | ( | void | ) |
Queue this pass for deletion when appropriate.
bool Ogre::Pass::isAmbientOnly | ( | void | ) | const |
Returns whether this pass is ambient only.
|
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. |
|
inline |
Gets the pass iteration count value.
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. |
|
inline |
Sets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are being used in it.
|
inline |
Gets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are being used in it.
|
inline |
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the light.
|
inline |
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the light.
|
inline |
Manually set which illumination stage this pass is a member of.
|
inline |
Get the manually assigned illumination stage, if any.
|
static |
Sets one of the default hash functions to be used.
|
inlinestatic |
Set the hash function used for all passes.
|
inlinestatic |
Get the hash function used for all passes.
|
static |
Get the builtin hash function.
|
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.
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.
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.
const GpuProgramPtr& Ogre::Pass::getTessellationHullProgram | ( | void | ) | const |
Gets the Tessellation Hull program used by this pass, only available after _load().
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.
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::getTessellationDomainProgram | ( | void | ) | const |
Gets the Tessellation Domain program used by this pass, only available after _load().
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.
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 GpuProgramPtr& Ogre::Pass::getComputeProgram | ( | void | ) | const |
Gets the Tessellation EHull program used by this pass, only available after _load().