Go to the documentation of this file.
232 Real mPointAttenuationCoeffs[3];
273 bool isProgrammable(
void)
const {
return mVertexProgramUsage || mFragmentProgramUsage || mGeometryProgramUsage ||
274 mTesselationHullProgramUsage || mTesselationDomainProgramUsage || mComputeProgramUsage; }
300 unsigned short getIndex(
void)
const {
return mIndex; }
413 setSelfIllumination(red, green, blue);
433 setSelfIllumination(emissive);
494 Real constant = 0.0f,
Real linear = 1.0f,
Real quadratic = 0.0f);
541 return getSelfIllumination();
619 return static_cast<unsigned short>(mTextureUnitStates.size());
947 mPolygonModeOverrideable =
override;
955 return mPolygonModeOverrideable;
990 Real expDensity = 0.001,
Real linearStart = 0.0,
Real linearEnd = 1.0 );
1566 {
return msDirtyHashList; }
1570 {
return msPassGraveyard; }
1712 MIN_GPU_PROGRAM_CHANGE
float getDepthBiasSlopeScale(void) const
Retrieves the slope-scale depth bias value as set by setDepthBias.
SceneBlendFactor mDestBlendFactor
Pass * pass
The pass to use in this stage.
bool getFogOverride(void) const
Returns true if this pass is to override the scene fog settings.
Definition of a functor for calculating the hashcode of a Pass.
Light::LightTypes mOnlyLightType
GpuProgramUsage * mShadowCasterFragmentProgramUsage
Fragment program details.
bool hasShadowReceiverFragmentProgram(void) const
Returns true if this pass uses a shadow receiver fragment program.
This utility class is used to hold the information used to generate the matrices and other informatio...
Class representing the state of a single texture unit during a Pass of a Technique,...
static HashFunc * getBuiltinHashFunction(BuiltinHashFunction builtin)
Get the builtin hash function.
bool mColourWrite
Colour buffer settings.
@ IS_UNKNOWN
Not determined.
void setTransparentSortingForced(bool enabled)
Sets whether or not transparent sorting is forced.
bool applyTextureAliases(const AliasTextureNamePairList &aliasList, const bool apply=true) const
Applies texture names to Texture Unit State with matching texture name aliases.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
void setAmbient(Real red, Real green, Real blue)
Sets the ambient colour reflectance properties of this pass.
const GpuProgramPtr & getShadowCasterVertexProgram(void) const
Gets the vertex program used by this pass when rendering shadow casters, only available after _load()...
void setTextureFiltering(TextureFilterOptions filterType)
Set texture filtering for every texture unit.
void setPointSpritesEnabled(bool enabled)
Sets whether or not rendering points using OT_POINT_LIST will render point sprites (textured quads) o...
const String & getName(void) const
Get the name of the pass.
void setGeometryProgramParameters(GpuProgramParametersSharedPtr params)
Sets the geometry program parameters.
Pass & operator=(const Pass &oth)
Operator = overload.
LightTypes
Defines the type of light.
virtual uint32 operator()(const Pass *p) const =0
void setPassIterationCount(const size_t count)
set the number of iterations that this pass should perform when doing fast multi pass operation.
Technique * getParent(void) const
Gets the parent Technique.
bool mSeparateBlendOperation
Determines if we should use separate blending operations for color and alpha channels.
const GpuProgramPtr & getGeometryProgram(void) const
Gets the geometry program used by this pass, only available after _load().
void setTesselationDomainProgram(const String &name, bool resetParams=true)
Sets the details of the tesselation domain program to use.
void setGeometryProgram(const String &name, bool resetParams=true)
Sets the details of the geometry program to use.
bool mHashDirtyQueued
Pass hash.
void setCullingMode(CullingMode mode)
Sets the culling mode for this pass based on the 'vertex winding'.
bool hasTesselationDomainProgram(void) const
Returns true if this pass uses a programmable tesselation control pipeline.
Real getFogStart(void) const
Returns the fog start distance for this pass.
ShadeOptions mShadeOptions
Shading options.
TextureUnitStateIterator getTextureUnitStateIterator(void)
Get an iterator over the TextureUnitStates contained in this Pass.
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.
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...
BuiltinHashFunction
There are some default hash functions used to order passes so that render state changes are minimised...
@ MIN_TEXTURE_CHANGE
Try to minimise the number of texture changes.
virtual bool getPolygonModeOverrideable(void) const
Gets whether this renderable's chosen detail level can be overridden (downgraded) by the camera setti...
TextureUnitState * createTextureUnitState(void)
Inserts a new TextureUnitState object into the Pass.
void _unprepare(void)
Internal method for undoing the load preparartion for this pass.
void setSceneBlendingOperation(SceneBlendOperation op)
Sets the specific operation used to blend source and destination pixels together.
void setPolygonMode(PolygonMode mode)
Sets the type of polygon rendering required.
OGRE_STATIC_MUTEX(msDirtyHashListMutex)
void setAmbient(const ColourValue &ambient)
Sets the ambient colour reflectance properties of this pass.
void setShadowReceiverVertexProgramParameters(GpuProgramParametersSharedPtr params)
Sets the vertex program parameters for rendering as a shadow receiver.
GpuProgramParametersSharedPtr getShadowReceiverVertexProgramParameters(void) const
Gets the vertex program parameters used by this pass when rendering shadow receivers.
bool hasGeometryProgram(void) const
Returns true if this pass uses a programmable geometry pipeline.
void setShadowCasterVertexProgram(const String &name)
Sets the details of the vertex program to use when rendering as a shadow caster.
void setAlphaRejectFunction(CompareFunction func)
Sets the alpha reject function.
void setVertexProgramParameters(GpuProgramParametersSharedPtr params)
Sets the vertex program parameters.
bool hasFragmentProgram(void) const
Returns true if this pass uses a programmable fragment pipeline.
unsigned short getMaxSimultaneousLights(void) const
Gets the maximum number of lights to be used by this pass.
TrackVertexColourType getVertexColourTracking(void) const
Gets which material properties follow the vertex colour.
bool getTransparentSortingForced(void) const
Returns whether or not transparent sorting is forced.
SceneBlendFactor getSourceBlendFactor() const
Retrieves the source blending factor for the material (as set using Materiall::setSceneBlending).
const String & getGeometryProgramName(void) const
Gets the name of the geometry program used by this pass.
void _updateAutoParams(const AutoParamDataSource *source, uint16 variabilityMask) const
Update automatic parameters.
bool isAmbientOnly(void) const
Returns whether this pass is ambient only.
const ColourValue & getSpecular(void) const
Gets the specular colour reflectance of the pass.
const GpuProgramPtr & getShadowReceiverFragmentProgram(void) const
Gets the fragment program used by this pass when rendering shadow receivers, only available after _lo...
void setShadowCasterFragmentProgramParameters(GpuProgramParametersSharedPtr params)
Sets the fragment program parameters for rendering as a shadow caster.
Concrete IteratorWrapper for nonconst access to the underlying container.
void setShadowCasterVertexProgramParameters(GpuProgramParametersSharedPtr params)
Sets the vertex program parameters for rendering as a shadow caster.
TextureUnitState * getTextureUnitState(unsigned short index)
Retrieves a pointer to a texture unit state so it may be modified.
unsigned short _getTextureUnitWithContentTypeIndex(TextureUnitState::ContentType contentType, unsigned short index) const
Gets the 'nth' texture which references the given content type.
const GpuProgramPtr & getFragmentProgram(void) const
Gets the fragment program used by this pass, only available after _load().
float mDepthBiasSlopeScale
const String & getResourceGroup(void) const
Gets the resource group of the ultimate parent Material.
CompareFunction getAlphaRejectFunction(void) const
Gets the alpha reject function.
void _getBlendFlags(SceneBlendType type, SceneBlendFactor &source, SceneBlendFactor &dest)
Used to get scene blending flags from a blending type.
void _notifyNeedsRecompile(void)
Tells the pass that it needs recompilation.
OGRE_MUTEX(mGpuProgramChangeMutex)
SceneBlendOperation mAlphaBlendOperation
const ColourValue & getEmissive(void) const
Gets the self illumination colour of the pass.
bool mPointAttenuationEnabled
Real getFogEnd(void) const
Returns the fog end distance for this pass.
bool mLightingEnabled
Lighting enabled?
SceneBlendOperation getSceneBlendingOperationAlpha() const
Returns the current alpha blending operation.
void setComputeProgramParameters(GpuProgramParametersSharedPtr params)
Sets the Tesselation Evaluation program parameters.
uint32 mHash
Optional name for the pass.
GpuProgramUsage * mShadowCasterVertexProgramUsage
Vertex program details.
void setSeparateSceneBlendingOperation(SceneBlendOperation op, SceneBlendOperation alphaOp)
Sets the specific operation used to blend source and destination pixels together.
Real getShininess(void) const
Gets the 'shininess' property of the pass (affects specular highlights).
Light::LightTypes getOnlyLightType() const
Gets the single light type this pass runs for if getIteratePerLight and getRunOnlyForOneLightType are...
TextureFilterOptions
High-level filtering options providing shortcuts to settings the minification, magnification and mip ...
bool isLoaded(void) const
Is this loaded?
const String & getComputeProgramName(void) const
Gets the name of the Tesselation Hull program used by this pass.
set< Pass * >::type PassSet
Real getPointAttenuationConstant(void) const
Returns the constant coefficient of point attenuation.
vector< IlluminationPass * >::type IlluminationPassList
void setDepthBias(float constantBias, float slopeScaleBias=0.0f)
Sets the depth bias to be used for this material.
bool hasComputeProgram(void) const
Returns true if this pass uses a programmable compute pipeline.
const ColourValue & getSelfIllumination(void) const
Gets the self illumination colour of the pass.
bool mNormaliseNormals
Normalisation.
void setComputeProgram(const String &name, bool resetParams=true)
Sets the details of the compute program to use.
const GpuProgramPtr & getShadowReceiverVertexProgram(void) const
Gets the vertex program used by this pass when rendering shadow receivers, only available after _load...
unsigned short getLightCountPerIteration(void) const
If light iteration is enabled, determine the number of lights per iteration.
UserObjectBindings & getUserObjectBindings()
Return an instance of user objects binding associated with this class.
void setLightingEnabled(bool enabled)
Sets whether or not dynamic lighting is enabled.
bool isAlphaToCoverageEnabled() const
Gets whether to use alpha to coverage (A2C) when blending alpha rejected values.
Class defining a single pass of a Technique (of a Material), i.e.
Class representing an approach to rendering this particular Material.
void setShadowCasterFragmentProgram(const String &name)
Sets the details of the fragment program to use when rendering as a shadow caster.
ShadeOptions getShadingMode(void) const
Returns the type of light shading to be used.
bool mQueuedForDeletion
Is this pass queued for deletion?
bool hasSeparateSceneBlendingOperations() const
Returns true if this pass uses separate scene blending operations.
Real getPointAttenuationLinear(void) const
Returns the linear coefficient of point attenuation.
Class that provides convenient interface to establish a linkage between custom user application objec...
float getIterationDepthBias() const
Gets a factor which derives an additional depth bias from the number of times a pass is iterated.
ManualCullingMode getManualCullingMode(void) const
Retrieves the manual culling mode for this pass.
ConstVectorIterator< TextureUnitStates > ConstTextureUnitStateIterator
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
CompareFunction getDepthFunction(void) const
Returns the function used to compare depth values when depth checking is on.
void setShininess(Real val)
Sets the shininess of the pass, affecting the size of specular highlights.
unsigned short mMaxSimultaneousLights
Max simultaneous lights.
CompareFunction mDepthFunc
bool mContentTypeLookupBuilt
bool hasSeparateSceneBlending() const
Return true if this pass uses separate scene blending.
bool mLightClipPlanes
User clip planes for light?
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.
void setLightMask(uint32 mask)
Sets the light mask which can be matched to specific light flags to be handled by this pass.
GpuProgramParametersSharedPtr getGeometryProgramParameters(void) const
Gets the geometry program parameters used by this pass.
static void setHashFunction(HashFunc *hashFunc)
Set the hash function used for all passes.
CullingMode getCullingMode(void) const
Returns the culling mode for geometry rendered with this pass.
bool hasVertexProgram(void) const
Returns true if this pass uses a programmable vertex pipeline.
uint32 getLightMask() const
Gets the light mask controlling which lights are used for this pass.
void setVertexProgram(const String &name, bool resetParams=true)
Sets the details of the vertex program to use.
static void clearDirtyHashList(void)
Static method to reset the list of passes which need their hash values recalculated.
GpuProgramUsage * mTesselationDomainProgramUsage
Tesselation domain program details.
ConstTextureUnitStateIterator getTextureUnitStateIterator(void) const
Get an iterator over the TextureUnitStates contained in this Pass.
void addTextureUnitState(TextureUnitState *state)
Adds the passed in TextureUnitState, to the existing Pass.
Pass * _split(unsigned short numUnits)
Splits this Pass to one which can be handled in the number of texture units specified.
IlluminationStage
Categorisation of passes for the purpose of additive lighting.
const TextureUnitState * getTextureUnitState(unsigned short index) const
Retrieves a const pointer to a texture unit state.
bool getLightingEnabled(void) const
Returns whether or not dynamic lighting is enabled.
GpuProgramParametersSharedPtr getComputeProgramParameters(void) const
Gets the Tesselation Hull program parameters used by this pass.
void setAlphaToCoverageEnabled(bool enabled)
Sets whether to use alpha to coverage (A2C) when blending alpha rejected values.
GpuProgramParametersSharedPtr getShadowCasterVertexProgramParameters(void) const
Gets the vertex program parameters used by this pass when rendering shadow casters.
SceneBlendFactor
Blending factors for manually blending objects with the scene.
void setIlluminationStage(IlluminationStage is)
Manually set which illumination stage this pass is a member of.
VectorIterator< TextureUnitStates > TextureUnitStateIterator
GpuProgramUsage * mTesselationHullProgramUsage
Tesselation hull program details.
const GpuProgramPtr & getTesselationHullProgram(void) const
Gets the Tesselation Hull program used by this pass, only available after _load().
void _notifyIndex(unsigned short index)
Internal method to adjust pass index.
void setTesselationHullProgram(const String &name, bool resetParams=true)
Support for shader model 5.0, hull and domain shaders.
void setDiffuse(const ColourValue &diffuse)
Sets the diffuse colour reflectance properties of this pass.
void setVertexColourTracking(TrackVertexColourType tracking)
Sets which material properties follow the vertex colour.
bool hasShadowCasterFragmentProgram(void) const
Returns true if this pass uses a shadow caster fragment program.
float mDepthBiasPerIteration
const String & getShadowCasterFragmentProgramName(void) const
Gets the name of the fragment program used by this pass when rendering shadow casters.
GpuProgramUsage * mGeometryProgramUsage
Geometry program details.
bool hasShadowCasterVertexProgram(void) const
Returns true if this pass uses a shadow caster vertex program.
void queueForDeletion(void)
Queue this pass for deletion when appropriate.
void setFragmentProgramParameters(GpuProgramParametersSharedPtr params)
Sets the fragment program parameters.
@ IS_AMBIENT
Part of the rendering which occurs without any kind of direct lighting.
const String & getTesselationHullProgramName(void) const
Gets the name of the Tesselation Hull program used by this pass.
const String & getShadowReceiverFragmentProgramName(void) const
Gets the name of the fragment program used by this pass when rendering shadow receivers.
TextureUnitState * createTextureUnitState(const String &textureName, unsigned short texCoordSet=0)
Inserts a new TextureUnitState object into the Pass.
ColourValue mAmbient
Needs to be dirtied when next loaded.
void setSelfIllumination(const ColourValue &selfIllum)
Sets the amount of self-illumination an object has.
void _dirtyHash(void)
Mark the hash as dirty.
static HashFunc * getHashFunction(void)
Get the hash function used for all passes.
ContentType
Enum identifying the type of content this texture unit contains.
const ColourValue & getAmbient(void) const
Gets the ambient colour reflectance of the pass.
map< String, String >::type AliasTextureNamePairList
Alias / Texture name pair (first = alias, second = texture name)
static void processPendingPassUpdates(void)
Process all dirty and pending deletion passes.
size_t mPassIterationCount
Number of pass iterations to perform.
bool mPointSpritesEnabled
PolygonMode getPolygonMode(void) const
Returns the type of light shading to be used.
UserObjectBindings mUserObjectBindings
User objects binding.
GpuProgramUsage * mComputeProgramUsage
Compute program details.
unsigned short mLightsPerIteration
Iterate per how many lights?
void setShadowReceiverVertexProgram(const String &name)
Sets the details of the vertex program to use when rendering as a shadow receiver.
const GpuProgramPtr & getVertexProgram(void) const
Gets the vertex program used by this pass, only available after _load().
bool getTransparentSortingEnabled(void) const
Returns whether or not transparent sorting is enabled.
bool mTransparentSorting
Transparent depth sorting.
void setIterationDepthBias(float biasPerIteration)
Sets a factor which derives an additional depth bias from the number of times a pass is iterated.
bool mIteratePerLight
Run this pass once per light?
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 objec...
bool mAlphaToCoverageEnabled
void setLightCountPerIteration(unsigned short c)
If light iteration is enabled, determine the number of lights per iteration.
void setPointAttenuation(bool enabled, Real constant=0.0f, Real linear=1.0f, Real quadratic=0.0f)
Sets how points are attenuated with distance.
void setAlphaRejectValue(unsigned char val)
Gets the alpha reject value.
static const PassSet & getDirtyHashList(void)
Static method to retrieve all the Passes which need their hash values recalculated.
const String & getTesselationDomainProgramName(void) const
Gets the name of the Domain Evaluation program used by this pass.
ContentTypeLookup mShadowContentTypeLookup
Pass * originalPass
The original pass which spawned this one.
void setFragmentProgram(const String &name, bool resetParams=true)
Sets the details of the fragment program to use.
void setEmissive(Real red, Real green, Real blue)
Sets the amount of self-illumination an object has.
void setPointMaxSize(Real max)
Set the maximum point size, when point attenuation is in use.
CullingMode
Hardware culling modes based on vertex winding.
bool getColourWriteEnabled(void) const
Determines if colour buffer writing is enabled for this pass.
vector< TextureUnitState * >::type TextureUnitStates
Storage of texture unit states.
size_t getPassIterationCount(void) const
Gets the pass iteration count value.
void setTesselationHullProgramParameters(GpuProgramParametersSharedPtr params)
Sets the Tesselation Hull program parameters.
Pass(Technique *parent, unsigned short index)
Default constructor.
GpuProgramUsage * mVertexProgramUsage
Vertex program details.
void setSelfIllumination(Real red, Real green, Real blue)
Sets the amount of self-illumination an object has.
void setLightClipPlanesEnabled(bool enabled)
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the l...
GpuProgramParametersSharedPtr getShadowCasterFragmentProgramParameters(void) const
Gets the fragment program parameters used by this pass when rendering shadow casters.
GpuProgramParametersSharedPtr getTesselationDomainProgramParameters(void) const
Gets the Tesselation Domain program parameters used by this pass.
Real getPointMinSize(void) const
Get the minimum point size, when point attenuation is in use.
const String & getFragmentProgramName(void) const
Gets the name of the fragment program used by this pass.
bool isTransparent(void) const
Returns true if this pass has some element of transparency.
int TrackVertexColourType
An enumeration describing which material properties should track the vertex colours.
static const ColourValue White
bool getLightClipPlanesEnabled() const
Gets whether or not this pass will be clipped by user clips planes bounding the area covered by the l...
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.
void removeTextureUnitState(unsigned short index)
Removes the indexed texture unit state from this pass.
bool hasShadowReceiverVertexProgram(void) const
Returns true if this pass uses a shadow receiver vertex program.
@ LT_POINT
Point light sources give off light equally in all directions, so require only position not direction.
@ IS_PER_LIGHT
Part of the rendering which occurs per light.
void _prepare(void)
Internal method for preparing to load this pass.
PolygonMode mPolygonMode
Polygon mode.
Real getPointMaxSize(void) const
Get the maximum point size, when point attenuation is in use.
FogMode getFogMode(void) const
Returns the fog mode for this pass.
bool getRunOnlyForOneLightType(void) const
Does this pass run only for a single light type (if getIteratePerLight is true).
void setStartLight(unsigned short startLight)
Sets the light index that this pass will start at in the light list.
unsigned short getIndex(void) const
Gets the index of this Pass in the parent Technique.
Pass(Technique *parent, unsigned short index, const Pass &oth)
Copy constructor.
void _load(void)
Internal method for loading this pass.
void setMaxSimultaneousLights(unsigned short maxLights)
Sets the maximum number of lights to be used by this pass.
void setSpecular(const ColourValue &specular)
Sets the specular colour reflectance properties of this pass.
GpuProgramUsage * mShadowReceiverFragmentProgramUsage
Fragment program details.
GpuProgramUsage * mShadowReceiverVertexProgramUsage
Vertex program details.
const ColourValue & getDiffuse(void) const
Gets the diffuse colour reflectance of the pass.
void setPointMinSize(Real min)
Set the minimum point size, when point attenuation is in use.
GpuProgramParametersSharedPtr getShadowReceiverFragmentProgramParameters(void) const
Gets the fragment program parameters used by this pass when rendering shadow receivers.
uint32 mLightMask
With a specific light mask?
SceneBlendOperation getSceneBlendingOperation() const
Returns the current blending operation.
void setPointSize(Real ps)
Sets the point size of this pass.
void setDepthCheckEnabled(bool enabled)
Sets whether or not this pass renders with depth-buffer checking on or not.
IlluminationStage getIlluminationStage() const
Get the manually assigned illumination stage, if any.
Class representing colour.
const String & getShadowCasterVertexProgramName(void) const
Gets the name of the vertex program used by this pass when rendering shadow casters.
bool getIteratePerLight(void) const
Does this pass run once for every light in range?
void setLightScissoringEnabled(bool enabled)
Sets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are...
void setName(const String &name)
unsigned short getTextureUnitStateIndex(const TextureUnitState *state) const
Retrieve the index of the Texture Unit State in the pass.
SceneBlendFactor getDestBlendFactorAlpha() const
Retrieves the alpha destination blending factor for the material (as set using Materiall::setSeparate...
unsigned short getNumTextureUnitStates(void) const
Returns the number of texture unit settings.
vector< unsigned short >::type ContentTypeLookup
void setManualCullingMode(ManualCullingMode mode)
Sets the manual culling mode, performed by CPU rather than hardware.
void setDepthFunction(CompareFunction func)
Sets the function used to compare depth values when depth checking is on.
@ IS_DECAL
Post-lighting rendering.
GpuProgramParametersSharedPtr getTesselationHullProgramParameters(void) const
Gets the Tesselation Hull program parameters used by this pass.
bool getPointSpritesEnabled(void) const
Returns whether point sprites are enabled when rendering a point list.
GpuProgramUsage * mFragmentProgramUsage
Fragment program details.
bool mRunOnlyForOneLightType
Should it only be run for a certain light type?
float getDepthBiasConstant(void) const
Retrieves the const depth bias value as set by setDepthBias.
IlluminationStage mIlluminationStage
Illumination stage?
ShadeOptions
Light shading modes.
OGRE_STATIC_MUTEX(msPassGraveyardMutex)
virtual ~HashFunc()
Need virtual destructor in case subclasses use it.
bool getLightScissoringEnabled() const
Gets whether or not this pass will be clipped by a scissor rectangle encompassing the lights that are...
This class makes the usage of a vertex and fragment programs (low-level or high-level),...
void setDepthWriteEnabled(bool enabled)
Sets whether or not this pass renders with depth-buffer writing on or not.
ManualCullingMode
Manual culling modes based on vertex normals.
virtual void setPolygonModeOverrideable(bool override)
Sets whether this pass's chosen detail level can be overridden (downgraded) by the camera setting.
bool mLightScissoring
Scissoring for the light?
float Real
Software floating point type.
Real getFogDensity(void) const
Returns the fog density for this pass.
void setTextureAnisotropy(unsigned int maxAniso)
Sets the anisotropy level to be used for all textures.
Real mPointSize
Point size, applies when not using per-vertex point size.
void _unload(void)
Internal method for unloading this pass.
void setTesselationDomainProgramParameters(GpuProgramParametersSharedPtr params)
Sets the Tesselation Domain program parameters.
uint32 getHash(void) const
Gets the 'hash' of this pass, ie a precomputed number to use for sorting.
TextureUnitState * getTextureUnitState(const String &name)
Retrieves the Texture Unit State matching name.
void setColourWriteEnabled(bool enabled)
Sets whether or not colour buffer writing is enabled for this Pass.
const GpuProgramPtr & getTesselationDomainProgram(void) const
Gets the Tesselation Domain program used by this pass, only available after _load().
Real getPointSize(void) const
Gets the point size of the pass.
bool isProgrammable(void) const
Returns true if this pass is programmable i.e. includes either a vertex or fragment program.
const String & getShadowReceiverVertexProgramName(void) const
Gets the name of the vertex program used by this pass when rendering shadow receivers.
GpuProgramParametersSharedPtr getFragmentProgramParameters(void) const
Gets the fragment program parameters used by this pass.
SceneBlendOperation mBlendOperation
TrackVertexColourType mTracking
const GpuProgramPtr & getShadowCasterFragmentProgram(void) const
Gets the fragment program used by this pass when rendering shadow casters, only available after _load...
void setSceneBlending(const SceneBlendType sbt)
Sets the kind of blending this pass has with the existing contents of the scene.
bool hasTesselationHullProgram(void) const
Returns true if this pass uses a programmable tesselation control pipeline.
Struct recording a pass which can be used for a specific illumination stage.
bool getDepthCheckEnabled(void) const
Returns whether or not this pass renders with depth-buffer checking on or not.
SceneBlendFactor mDestBlendFactorAlpha
unsigned char mAlphaRejectVal
const ColourValue & getFogColour(void) const
Returns the fog colour for the scene.
unsigned char getAlphaRejectValue(void) const
Gets the alpha reject value.
static const PassSet & getPassGraveyard(void)
Static method to retrieve all the Passes which are pending deletion.
GpuProgramParametersSharedPtr getVertexProgramParameters(void) const
Gets the vertex program parameters used by this pass.
ManualCullingMode mManualCullMode
static void setHashFunction(BuiltinHashFunction builtin)
Sets one of the default hash functions to be used.
const String & getVertexProgramName(void) const
Gets the name of the vertex program used by this pass.
size_t calculateSize(void) const
SceneBlendFactor mSourceBlendFactor
void setDiffuse(Real red, Real green, Real blue, Real alpha)
Sets the diffuse colour reflectance properties of this pass.
CompareFunction mAlphaRejectFunc
bool getNormaliseNormals(void) const
Returns true if this pass has auto-normalisation of normals set.
static PassSet msDirtyHashList
List of Passes whose hashes need recalculating.
void setSpecular(Real red, Real green, Real blue, Real alpha)
Sets the specular colour reflectance properties of this pass.
void setShadowReceiverFragmentProgramParameters(GpuProgramParametersSharedPtr params)
Sets the fragment program parameters for rendering as a shadow receiver.
const GpuProgramPtr & getComputeProgram(void) const
Gets the Tesselation EHull program used by this pass, only available after _load().
const UserObjectBindings & getUserObjectBindings() const
Return an instance of user objects binding associated with this class.
void setShadowReceiverFragmentProgram(const String &name)
This method allows you to specify a fragment program for use when rendering a texture shadow receiver...
void setShadingMode(ShadeOptions mode)
Sets the type of light shading required.
bool mTransparentSortingForced
Transparent depth sorting forced.
SceneBlendFactor getDestBlendFactor() const
Retrieves the destination blending factor for the material (as set using Materiall::setSceneBlending)...
static PassSet msPassGraveyard
The place where passes go to die.
void removeAllTextureUnitStates(void)
Removes all texture unit settings.
const TextureUnitState * getTextureUnitState(const String &name) const
Retrieves the Texture Unit State matching name.
PolygonMode
The polygon mode to use when rasterising.
unsigned short mStartLight
Starting light index.
unsigned short getStartLight(void) const
Gets the light index that this pass will start at in the light list.
void setTransparentSortingEnabled(bool enabled)
Sets whether or not transparent sorting is enabled.
void setSceneBlending(const SceneBlendFactor sourceFactor, const SceneBlendFactor destFactor)
Allows very fine control of blending this Pass with the existing contents of the scene.
Real getPointAttenuationQuadratic(void) const
Returns the quadratic coefficient of point attenuation.
bool destroyOnShutdown
Whether this pass is one which should be deleted itself.
Concrete IteratorWrapper for const access to the underlying container.
void setNormaliseNormals(bool normalise)
If set to true, this forces normals to be normalised dynamically by the hardware for this pass.
void _recalculateHash(void)
Internal method for recalculating the hash.
bool mPolygonModeOverrideable
void setEmissive(const ColourValue &emissive)
Sets the amount of self-illumination an object has.
bool getDepthWriteEnabled(void) const
Returns whether or not this pass renders with depth-buffer writing on or not.
SceneBlendFactor mSourceBlendFactorAlpha
SceneBlendType
Types of blending that you can specify between an object and the existing contents of the scene.
SceneBlendOperation
Blending operations controls how objects are blended into the scene.
OGRE_MUTEX(mTexUnitChangeMutex)
SceneBlendFactor getSourceBlendFactorAlpha() const
Retrieves the alpha source blending factor for the material (as set using Materiall::setSeparateScene...
bool isPointAttenuationEnabled(void) const
Returns whether points are attenuated with distance.
static HashFunc * msHashFunc
The Pass hash functor.
TextureUnitStates mTextureUnitStates
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.