OGRE-Next
4.0.0unstable
Object-Oriented Graphics Rendering Engine
|
Class representing an approach to rendering this particular Material. More...
#include <OgreTechnique.h>
Classes | |
struct | GPUDeviceNameRule |
Rule controlling whether technique is deemed supported based on GPU device name. More... | |
struct | GPUVendorRule |
Rule controlling whether technique is deemed supported based on GPU vendor. More... | |
Public Types | |
typedef ConstVectorIterator< GPUDeviceNameRuleList > | GPUDeviceNameRuleIterator |
typedef vector< GPUDeviceNameRule >::type | GPUDeviceNameRuleList |
typedef ConstVectorIterator< GPUVendorRuleList > | GPUVendorRuleIterator |
typedef vector< GPUVendorRule >::type | GPUVendorRuleList |
enum | IncludeOrExclude { INCLUDE = 0 , EXCLUDE = 1 } |
Directive used to manually control technique support based on the inclusion or exclusion of some factor. More... | |
typedef VectorIterator< Passes > | PassIterator |
Public Member Functions | |
Technique (Material *parent) | |
Constructor. More... | |
Technique (Material *parent, const Technique &oth) | |
Copy constructor. More... | |
~Technique () | |
String | _compile (bool autoManageTextureUnits) |
Internal compilation method; see Material::compile. More... | |
unsigned short | _getSchemeIndex () const |
Internal method for getting the scheme index. More... | |
void | _load () |
Internal load method, derived from call to Material::load. More... | |
void | _notifyNeedsRecompile () |
Tells the technique that it needs recompilation. More... | |
void | _prepare () |
Internal prepare method, derived from call to Material::prepare. More... | |
void | _unload () |
Internal unload method, derived from call to Material::unload. More... | |
void | _unprepare () |
Internal unprepare method, derived from call to Material::unprepare. More... | |
void | addGPUDeviceNameRule (const GPUDeviceNameRule &rule) |
Add a rule which manually influences the support for this technique based on a pattern that matches a GPU device name (e.g. More... | |
void | addGPUDeviceNameRule (const String &devicePattern, IncludeOrExclude includeOrExclude, bool caseSensitive=false) |
Add a rule which manually influences the support for this technique based on a pattern that matches a GPU device name (e.g. More... | |
void | addGPUVendorRule (const GPUVendorRule &rule) |
Add a rule which manually influences the support for this technique based on a GPU vendor. More... | |
void | addGPUVendorRule (GPUVendor vendor, IncludeOrExclude includeOrExclude) |
Add a rule which manually influences the support for this technique based on a GPU vendor. 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 () const |
bool | checkGPURules (StringStream &errors) |
Internal method for checking GPU vendor / device rules. More... | |
bool | checkHardwareSupport (bool autoManageTextureUnits, StringStream &compileErrors) |
Internal method for checking hardware support. More... | |
Pass * | createPass () |
Creates a new Pass for this Technique. More... | |
GPUDeviceNameRuleIterator | getGPUDeviceNameRuleIterator () const |
Get an iterator over the currently registered device name rules. More... | |
GPUVendorRuleIterator | getGPUVendorRuleIterator () const |
Get an iterator over the currently registered vendor rules. More... | |
unsigned short | getLodIndex () const |
Gets the level-of-detail index assigned to this Technique. More... | |
const String & | getName () const |
Gets the name of the technique. More... | |
unsigned short | getNumPasses () const |
Retrieves the number of passes. More... | |
Material * | getParent () const |
Gets the parent Material. More... | |
Pass * | getPass (const String &name) |
Retrieves the Pass matching name. More... | |
Pass * | getPass (unsigned short index) |
Retrieves the Pass with the given index. More... | |
const PassIterator | getPassIterator () |
Gets an iterator over the passes in this Technique. More... | |
const String & | getResourceGroup () const |
Gets the resource group of the ultimate parent Material. More... | |
const String & | getSchemeName () const |
Returns the scheme to which this technique is assigned. More... | |
Ogre::MaterialPtr | getShadowCasterMaterial () const |
return this material specific shadow casting specific material 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... | |
bool | hasColourWriteDisabled () const |
Exists colour writing disabled pass on this technique? More... | |
bool | isDepthCheckEnabled () const |
Is depth checking going to occur on this technique? More... | |
bool | isDepthWriteEnabled () const |
Is depth writing going to occur on this technique? More... | |
bool | isLoaded () const |
Is this loaded? More... | |
bool | isSupported () const |
Indicates if this technique is supported by the current graphics card. More... | |
bool | isTransparent () const |
Returns true if this Technique involves transparency. More... | |
bool | movePass (const unsigned short sourceIndex, const unsigned short destinationIndex) |
Move a pass from source index to destination index. More... | |
Technique & | operator= (const Technique &rhs) |
Overloaded operator to copy on Technique to another. More... | |
void | removeAllPasses () |
Removes all Passes from this Technique. More... | |
void | removeGPUDeviceNameRule (const String &devicePattern) |
Removes a matching device name rule. More... | |
void | removeGPUVendorRule (GPUVendor vendor) |
Removes a matching vendor rule. More... | |
void | removePass (unsigned short index) |
Removes the Pass with the given index. More... | |
void | setAmbient (const ColourValue &ambient) |
Sets the ambient colour reflectance properties for every Pass in every Technique. More... | |
void | setAmbient (Real red, Real green, Real blue) |
Sets the ambient colour reflectance properties for every Pass in every Technique. More... | |
void | setBlendblock (const HlmsBlendblock &blendblock) |
Sets the blendblock every pass has with the existing contents of the scene. More... | |
void | setDiffuse (const ColourValue &diffuse) |
Sets the diffuse colour reflectance properties of every Pass in every Technique. More... | |
void | setDiffuse (Real red, Real green, Real blue, Real alpha) |
Sets the diffuse colour reflectance properties of every Pass in every Technique. More... | |
void | setFog (bool overrideScene, FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=Real(0.001), Real linearStart=0.0, Real linearEnd=1.0) |
Sets the fogging mode applied to each pass. More... | |
void | setLodIndex (unsigned short index) |
Assigns a level-of-detail (LOD) index to this Technique. More... | |
void | setMacroblock (const HlmsMacroblock ¯oblock) |
Sets the macroblock every pass has with the existing contents of the scene. More... | |
void | setName (const String &name) |
Set the name of the technique. More... | |
void | setPointSize (Real ps) |
Sets the point size properties for every Pass in this Technique. More... | |
void | setSamplerblock (const HlmsSamplerblock &samplerblock) |
Set samplerblock for every texture unit in every Pass. More... | |
void | setSchemeName (const String &schemeName) |
Set the 'scheme name' for this technique. More... | |
void | setSelfIllumination (const ColourValue &selfIllum) |
Sets the amount of self-illumination of every Pass in every Technique. More... | |
void | setSelfIllumination (Real red, Real green, Real blue) |
Sets the amount of self-illumination of every Pass in every Technique. More... | |
void | setShadingMode (ShadeOptions mode) |
Sets the type of light shading required. More... | |
void | setShadowCasterMaterial (const Ogre::String &name) |
set this material specific shadow casting specific material More... | |
void | setShadowCasterMaterial (Ogre::MaterialPtr val) |
set this material specific shadow casting specific material More... | |
void | setShininess (Real val) |
Sets the shininess properties of every Pass in every Technique. More... | |
void | setSpecular (const ColourValue &specular) |
Sets the specular colour reflectance properties of every Pass in every Technique. More... | |
void | setSpecular (Real red, Real green, Real blue, Real alpha) |
Sets the specular colour reflectance properties of every Pass in every Technique. More... | |
Class representing an approach to rendering this particular Material.
typedef vector<GPUDeviceNameRule>::type Ogre::Technique::GPUDeviceNameRuleList |
typedef vector<GPUVendorRule>::type Ogre::Technique::GPUVendorRuleList |
typedef VectorIterator<Passes> Ogre::Technique::PassIterator |
Ogre::Technique::Technique | ( | Material * | parent | ) |
Constructor.
Ogre::Technique::~Technique | ( | ) |
String Ogre::Technique::_compile | ( | bool | autoManageTextureUnits | ) |
Internal compilation method; see Material::compile.
unsigned short Ogre::Technique::_getSchemeIndex | ( | ) | const |
Internal method for getting the scheme index.
void Ogre::Technique::_load | ( | ) |
Internal load method, derived from call to Material::load.
void Ogre::Technique::_notifyNeedsRecompile | ( | ) |
Tells the technique that it needs recompilation.
void Ogre::Technique::_prepare | ( | ) |
Internal prepare method, derived from call to Material::prepare.
void Ogre::Technique::_unload | ( | ) |
Internal unload method, derived from call to Material::unload.
void Ogre::Technique::_unprepare | ( | ) |
Internal unprepare method, derived from call to Material::unprepare.
void Ogre::Technique::addGPUDeviceNameRule | ( | const GPUDeviceNameRule & | rule | ) |
Add a rule which manually influences the support for this technique based on a pattern that matches a GPU device name (e.g.
'8800').
void Ogre::Technique::addGPUDeviceNameRule | ( | const String & | devicePattern, |
IncludeOrExclude | includeOrExclude, | ||
bool | caseSensitive = false |
||
) |
Add a rule which manually influences the support for this technique based on a pattern that matches a GPU device name (e.g.
'8800').
devicePattern | The GPU vendor |
includeOrExclude | Whether this is an inclusive or exclusive rule |
caseSensitive | Whether the match is case sensitive or not |
void Ogre::Technique::addGPUVendorRule | ( | const GPUVendorRule & | rule | ) |
Add a rule which manually influences the support for this technique based on a GPU vendor.
void Ogre::Technique::addGPUVendorRule | ( | GPUVendor | vendor, |
IncludeOrExclude | includeOrExclude | ||
) |
Add a rule which manually influences the support for this technique based on a GPU vendor.
vendor | The GPU vendor |
includeOrExclude | Whether this is an inclusive or exclusive rule |
bool Ogre::Technique::applyTextureAliases | ( | const AliasTextureNamePairList & | aliasList, |
const bool | apply = true |
||
) | const |
Applies texture names to Texture Unit State with matching texture name aliases.
All passes, and Texture Unit States within the technique are checked. If matching texture aliases are found then true is returned.
aliasList | is a map container of texture alias, texture name pairs |
apply | set true to apply the texture aliases else just test to see if texture alias matches are found. |
size_t Ogre::Technique::calculateSize | ( | ) | const |
bool Ogre::Technique::checkGPURules | ( | StringStream & | errors | ) |
Internal method for checking GPU vendor / device rules.
bool Ogre::Technique::checkHardwareSupport | ( | bool | autoManageTextureUnits, |
StringStream & | compileErrors | ||
) |
Internal method for checking hardware support.
Pass* Ogre::Technique::createPass | ( | ) |
Creates a new Pass for this Technique.
GPUDeviceNameRuleIterator Ogre::Technique::getGPUDeviceNameRuleIterator | ( | ) | const |
Get an iterator over the currently registered device name rules.
GPUVendorRuleIterator Ogre::Technique::getGPUVendorRuleIterator | ( | ) | const |
Get an iterator over the currently registered vendor rules.
|
inline |
Gets the level-of-detail index assigned to this Technique.
|
inline |
Gets the name of the technique.
unsigned short Ogre::Technique::getNumPasses | ( | ) | const |
Retrieves the number of passes.
Retrieves the Pass matching name.
Returns 0 if name match is not found.
const PassIterator Ogre::Technique::getPassIterator | ( | ) |
Gets an iterator over the passes in this Technique.
const String& Ogre::Technique::getResourceGroup | ( | ) | const |
Gets the resource group of the ultimate parent Material.
const String& Ogre::Technique::getSchemeName | ( | ) | const |
Returns the scheme to which this technique is assigned.
Ogre::MaterialPtr Ogre::Technique::getShadowCasterMaterial | ( | ) | const |
return this material specific shadow casting specific material
|
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.
bool Ogre::Technique::hasColourWriteDisabled | ( | ) | const |
Exists colour writing disabled pass on this technique?
bool Ogre::Technique::isDepthCheckEnabled | ( | ) | const |
Is depth checking going to occur on this technique?
bool Ogre::Technique::isDepthWriteEnabled | ( | ) | const |
Is depth writing going to occur on this technique?
bool Ogre::Technique::isLoaded | ( | ) | const |
Is this loaded?
bool Ogre::Technique::isSupported | ( | ) | const |
Indicates if this technique is supported by the current graphics card.
bool Ogre::Technique::isTransparent | ( | ) | const |
Returns true if this Technique involves transparency.
bool Ogre::Technique::movePass | ( | const unsigned short | sourceIndex, |
const unsigned short | destinationIndex | ||
) |
Move a pass from source index to destination index.
If successful then returns true.
Overloaded operator to copy on Technique to another.
void Ogre::Technique::removeAllPasses | ( | ) |
Removes all Passes from this Technique.
void Ogre::Technique::removeGPUDeviceNameRule | ( | const String & | devicePattern | ) |
Removes a matching device name rule.
void Ogre::Technique::removeGPUVendorRule | ( | GPUVendor | vendor | ) |
Removes a matching vendor rule.
void Ogre::Technique::removePass | ( | unsigned short | index | ) |
Removes the Pass with the given index.
void Ogre::Technique::setAmbient | ( | const ColourValue & | ambient | ) |
Sets the ambient colour reflectance properties for every Pass in every Technique.
Sets the ambient colour reflectance properties for every Pass in every Technique.
void Ogre::Technique::setBlendblock | ( | const HlmsBlendblock & | blendblock | ) |
Sets the blendblock every pass has with the existing contents of the scene.
void Ogre::Technique::setDiffuse | ( | const ColourValue & | diffuse | ) |
Sets the diffuse colour reflectance properties of every Pass in every Technique.
Sets the diffuse colour reflectance properties of every Pass in every Technique.
void Ogre::Technique::setFog | ( | bool | overrideScene, |
FogMode | mode = FOG_NONE , |
||
const ColourValue & | colour = ColourValue::White , |
||
Real | expDensity = Real(0.001) , |
||
Real | linearStart = 0.0 , |
||
Real | linearEnd = 1.0 |
||
) |
Sets the fogging mode applied to each pass.
void Ogre::Technique::setLodIndex | ( | unsigned short | index | ) |
Assigns a level-of-detail (LOD) index to this Technique.
void Ogre::Technique::setMacroblock | ( | const HlmsMacroblock & | macroblock | ) |
Sets the macroblock every pass has with the existing contents of the scene.
void Ogre::Technique::setName | ( | const String & | name | ) |
Set the name of the technique.
void Ogre::Technique::setPointSize | ( | Real | ps | ) |
Sets the point size properties for every Pass in this Technique.
void Ogre::Technique::setSamplerblock | ( | const HlmsSamplerblock & | samplerblock | ) |
Set samplerblock for every texture unit in every Pass.
void Ogre::Technique::setSchemeName | ( | const String & | schemeName | ) |
Set the 'scheme name' for this technique.
void Ogre::Technique::setSelfIllumination | ( | const ColourValue & | selfIllum | ) |
Sets the amount of self-illumination of every Pass in every Technique.
Sets the amount of self-illumination of every Pass in every Technique.
void Ogre::Technique::setShadingMode | ( | ShadeOptions | mode | ) |
Sets the type of light shading required.
void Ogre::Technique::setShadowCasterMaterial | ( | const Ogre::String & | name | ) |
set this material specific shadow casting specific material
void Ogre::Technique::setShadowCasterMaterial | ( | Ogre::MaterialPtr | val | ) |
set this material specific shadow casting specific material
void Ogre::Technique::setShininess | ( | Real | val | ) |
Sets the shininess properties of every Pass in every Technique.
void Ogre::Technique::setSpecular | ( | const ColourValue & | specular | ) |
Sets the specular colour reflectance properties of every Pass in every Technique.
Sets the specular colour reflectance properties of every Pass in every Technique.