#include <OgreTechnique.h>
Collaboration diagram for Ogre::Technique:
Public Types | |
typedef VectorIterator< Passes > | PassIterator |
Public Methods | |
Technique (Material *parent) | |
Constructor. | |
Technique (Material *parent, const Technique &oth) | |
Copy constructor. | |
~Technique () | |
bool | isSupported (void) const |
Indicates if this technique is supported by the current graphics card. | |
void | _compile (bool autoManageTextureUnits) |
Internal compilation method; see Material::compile. | |
Pass * | createPass (void) |
Creates a new Pass for this Technique. | |
Pass * | getPass (unsigned short index) |
Retrieves the Pass with the given index. | |
unsigned short | getNumPasses (void) const |
Retrieves the number of passes. | |
void | removePass (unsigned short index) |
Removes the Pass with the given index. | |
void | removeAllPasses (void) |
Removes all Passes from this Technique. | |
const PassIterator | getPassIterator (void) |
Gets an iterator over the passes in this Technique. | |
Material * | getParent (void) const |
Gets the parent Material. | |
Technique & | operator= (const Technique &rhs) |
Overloaded operator to copy on Technique to another. | |
bool | isTransparent (void) const |
Returns true if this Technique involves transparency. | |
void | _load (void) |
Internal load method, derived from call to Material::load. | |
void | _unload (void) |
Internal unload method, derived from call to Material::unload. | |
bool | isLoaded (void) const |
void | _notifyNeedsRecompile (void) |
Tells the technique that it needs recompilation. | |
void | setAmbient (Real red, Real green, Real blue) |
Sets the ambient colour reflectance properties for every Pass in every Technique. | |
void | setAmbient (const ColourValue &ambient) |
Sets the ambient colour reflectance properties for every Pass in every Technique. | |
void | setDiffuse (Real red, Real green, Real blue) |
Sets the diffuse colour reflectance properties of every Pass in every Technique. | |
void | setDiffuse (const ColourValue &diffuse) |
Sets the diffuse colour reflectance properties of every Pass in every Technique. | |
void | setSpecular (Real red, Real green, Real blue) |
Sets the specular colour reflectance properties of every Pass in every Technique. | |
void | setSpecular (const ColourValue &specular) |
Sets the specular colour reflectance properties of every Pass in every Technique. | |
void | setShininess (Real val) |
Sets the shininess properties of every Pass in every Technique. | |
void | setSelfIllumination (Real red, Real green, Real blue) |
Sets the amount of self-illumination of every Pass in every Technique. | |
void | setSelfIllumination (const ColourValue &selfIllum) |
Sets the amount of self-illumination of every Pass in every Technique. | |
void | setDepthCheckEnabled (bool enabled) |
Sets whether or not each Pass renders with depth-buffer checking on or not. | |
void | setDepthWriteEnabled (bool enabled) |
Sets whether or not each Pass renders with depth-buffer writing on or not. | |
void | setDepthFunction (CompareFunction func) |
Sets the function used to compare depth values when depth checking is on. | |
void | setColourWriteEnabled (bool enabled) |
Sets whether or not colour buffer writing is enabled for each Pass. | |
void | setCullingMode (CullingMode mode) |
Sets the culling mode for each pass based on the 'vertex winding'. | |
void | setManualCullingMode (ManualCullingMode mode) |
Sets the manual culling mode, performed by CPU rather than hardware. | |
void | setLightingEnabled (bool enabled) |
Sets whether or not dynamic lighting is enabled for every Pass. | |
void | setShadingMode (ShadeOptions mode) |
Sets the type of light shading required. | |
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 each pass. | |
void | setDepthBias (ushort bias) |
Sets the depth bias to be used for each Pass. | |
void | setTextureFiltering (TextureFilterOptions filterType) |
Set texture filtering for every texture unit in every Pass. | |
void | setTextureAnisotropy (unsigned int maxAniso) |
Sets the anisotropy level to be used for all textures. | |
void | setSceneBlending (const SceneBlendType sbt) |
Sets the kind of blending every pass has with the existing contents of the scene. | |
void | setSceneBlending (const SceneBlendFactor sourceFactor, const SceneBlendFactor destFactor) |
Allows very fine control of blending every Pass with the existing contents of the scene. | |
void | setLodIndex (unsigned short index) |
Assigns a level-of-detail (LOD) index to this Technique. | |
unsigned short | getLodIndex (void) const |
Gets the level-of-detail index assigned to this Technique. | |
Protected Types | |
typedef std::vector< Pass * > | Passes |
Protected Attributes | |
Passes | mPasses |
Material * | mParent |
bool | mIsSupported |
unsigned short | mLodIndex |
Definition at line 40 of file OgreTechnique.h.
|
Definition at line 43 of file OgreTechnique.h. |
|
Definition at line 82 of file OgreTechnique.h. Referenced by getPassIterator(). |
|
Constructor.
Definition at line 38 of file OgreTechnique.cpp. |
|
Copy constructor.
Definition at line 44 of file OgreTechnique.cpp. |
|
Definition at line 51 of file OgreTechnique.cpp. References removeAllPasses(). |
|
Internal compilation method; see Material::compile.
Definition at line 61 of file OgreTechnique.cpp. References Ogre::Pass::_split(), Ogre::TextureUnitState::getColourBlendMode(), Ogre::Pass::getFragmentProgram(), Ogre::RenderSystemCapabilities::getNumTextureUnits(), Ogre::Pass::getNumTextureUnitStates(), Ogre::Pass::getTextureUnitStateIterator(), Ogre::Pass::getVertexProgram(), Ogre::RenderSystemCapabilities::hasCapability(), Ogre::Pass::hasFragmentProgram(), Ogre::Pass::hasVertexProgram(), Ogre::TextureUnitState::is3D(), Ogre::GpuProgram::isSupported(), Ogre::LBX_DOTPRODUCT, mIsSupported, mPasses, Ogre::LayerBlendModeEx::operation, Ogre::RSC_CUBEMAPPING, and Ogre::RSC_DOT3. |
|
Internal load method, derived from call to Material::load.
Definition at line 212 of file OgreTechnique.cpp. References mIsSupported, and mPasses. |
|
Tells the technique that it needs recompilation.
Definition at line 454 of file OgreTechnique.cpp. References Ogre::Material::_notifyNeedsRecompile(), and mParent. Referenced by Ogre::Pass::_notifyNeedsRecompile(), Ogre::Pass::addTextureUnitState(), Ogre::Pass::createTextureUnitState(), Ogre::Pass::removeAllTextureUnitStates(), Ogre::Pass::removeTextureUnitState(), Ogre::Pass::setFragmentProgram(), setLodIndex(), and Ogre::Pass::setVertexProgram(). |
|
Internal unload method, derived from call to Material::unload.
Definition at line 224 of file OgreTechnique.cpp. References mPasses. |
|
Creates a new Pass for this Technique.
Definition at line 142 of file OgreTechnique.cpp. References mPasses. Referenced by Ogre::Pass::_split(), Ogre::parsePass(), and Ogre::MeshSerializerImpl_v1::readMaterial(). |
|
Gets the level-of-detail index assigned to this Technique.
Definition at line 369 of file OgreTechnique.h. Referenced by Ogre::Material::operator=(). |
|
Retrieves the number of passes.
Definition at line 155 of file OgreTechnique.cpp. References mPasses. |
|
Gets the parent Material.
Definition at line 86 of file OgreTechnique.h. |
|
Retrieves the Pass with the given index.
Definition at line 149 of file OgreTechnique.cpp. References mPasses. Referenced by Ogre::Quake3Shader::createAsMaterial(), Ogre::Font::createTextureFromFont(), Ogre::Font::load(), Ogre::BspLevel::loadQuake3Level(), Ogre::BspSceneManager::processVisibleLeaf(), Ogre::MeshSerializerImpl_v1::readTextureLayer(), Ogre::SceneManager::setSkyBox(), Ogre::TerrainSceneManager::setWorldGeometry(), and Ogre::PanelGuiElement::updateTextureGeometry(). |
|
Gets an iterator over the passes in this Technique.
Definition at line 179 of file OgreTechnique.cpp. References mPasses, and PassIterator. Referenced by Ogre::RenderPriorityGroup::addRenderable(), and Ogre::BspSceneManager::renderStaticGeometry(). |
|
Definition at line 235 of file OgreTechnique.cpp. References Ogre::Resource::isLoaded(), and mParent. Referenced by Ogre::Pass::isLoaded(). |
|
Indicates if this technique is supported by the current graphics card.
Definition at line 56 of file OgreTechnique.cpp. References mIsSupported. |
|
Returns true if this Technique involves transparency.
Definition at line 199 of file OgreTechnique.cpp. References mPasses. Referenced by Ogre::RenderPriorityGroup::addRenderable(). |
|
Overloaded operator to copy on Technique to another.
Definition at line 184 of file OgreTechnique.cpp. References mIsSupported, mPasses, and removeAllPasses(). |
|
Removes all Passes from this Technique.
Definition at line 168 of file OgreTechnique.cpp. References mPasses. Referenced by operator=(), and ~Technique(). |
|
Removes the Pass with the given index.
Definition at line 160 of file OgreTechnique.cpp. References mPasses. |
|
Sets the ambient colour reflectance properties for every Pass in every Technique.
Definition at line 251 of file OgreTechnique.cpp. References Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::ColourValue::r, and setAmbient(). |
|
Sets the ambient colour reflectance properties for every Pass in every Technique.
Definition at line 240 of file OgreTechnique.cpp. References Ogre::green, mPasses, Ogre::Real, and Ogre::red. Referenced by setAmbient(). |
|
Sets whether or not colour buffer writing is enabled for each Pass.
Definition at line 341 of file OgreTechnique.cpp. References mPasses. |
|
Sets the culling mode for each pass based on the 'vertex winding'.
Definition at line 351 of file OgreTechnique.cpp. References Ogre::CullingMode, and mPasses. |
|
Sets the depth bias to be used for each Pass.
Definition at line 402 of file OgreTechnique.cpp. References mPasses, and Ogre::ushort. |
|
Sets whether or not each Pass renders with depth-buffer checking on or not.
Definition at line 311 of file OgreTechnique.cpp. References mPasses. |
|
Sets the function used to compare depth values when depth checking is on.
Definition at line 331 of file OgreTechnique.cpp. References Ogre::CompareFunction, and mPasses. |
|
Sets whether or not each Pass renders with depth-buffer writing on or not.
Definition at line 321 of file OgreTechnique.cpp. References mPasses. |
|
Sets the diffuse colour reflectance properties of every Pass in every Technique.
Definition at line 266 of file OgreTechnique.cpp. References Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::ColourValue::r, and setDiffuse(). |
|
Sets the diffuse colour reflectance properties of every Pass in every Technique.
Definition at line 256 of file OgreTechnique.cpp. References Ogre::green, mPasses, Ogre::Real, and Ogre::red. Referenced by setDiffuse(). |
|
Sets the fogging mode applied to each pass.
Definition at line 391 of file OgreTechnique.cpp. References Ogre::FogMode, mPasses, and Ogre::Real. |
|
Sets whether or not dynamic lighting is enabled for every Pass.
Definition at line 371 of file OgreTechnique.cpp. References mPasses. |
|
Assigns a level-of-detail (LOD) index to this Technique.
Definition at line 459 of file OgreTechnique.cpp. References _notifyNeedsRecompile(), and mLodIndex. Referenced by Ogre::parseLodIndex(). |
|
Sets the manual culling mode, performed by CPU rather than hardware.
Definition at line 361 of file OgreTechnique.cpp. References Ogre::ManualCullingMode, and mPasses. |
|
Allows very fine control of blending every Pass with the existing contents of the scene.
Definition at line 442 of file OgreTechnique.cpp. References mPasses, and Ogre::SceneBlendFactor. |
|
Sets the kind of blending every pass has with the existing contents of the scene.
Definition at line 432 of file OgreTechnique.cpp. References mPasses, and Ogre::SceneBlendType. |
|
Sets the amount of self-illumination of every Pass in every Technique.
Definition at line 306 of file OgreTechnique.cpp. References Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::ColourValue::r, and setSelfIllumination(). |
|
Sets the amount of self-illumination of every Pass in every Technique.
Definition at line 296 of file OgreTechnique.cpp. References Ogre::green, mPasses, Ogre::Real, and Ogre::red. Referenced by setSelfIllumination(). |
|
Sets the type of light shading required.
Definition at line 381 of file OgreTechnique.cpp. References mPasses, and Ogre::ShadeOptions. |
|
Sets the shininess properties of every Pass in every Technique.
Definition at line 286 of file OgreTechnique.cpp. References mPasses, and Ogre::Real. |
|
Sets the specular colour reflectance properties of every Pass in every Technique.
Definition at line 281 of file OgreTechnique.cpp. References Ogre::ColourValue::b, Ogre::ColourValue::g, Ogre::ColourValue::r, and setSpecular(). |
|
Sets the specular colour reflectance properties of every Pass in every Technique.
Definition at line 271 of file OgreTechnique.cpp. References Ogre::green, mPasses, Ogre::Real, and Ogre::red. Referenced by setSpecular(). |
|
Sets the anisotropy level to be used for all textures.
Definition at line 422 of file OgreTechnique.cpp. References mPasses. |
|
Set texture filtering for every texture unit in every Pass.
Definition at line 412 of file OgreTechnique.cpp. References mPasses, and Ogre::TextureFilterOptions. |
|
Definition at line 46 of file OgreTechnique.h. Referenced by _compile(), _load(), isSupported(), and operator=(). |
|
Definition at line 47 of file OgreTechnique.h. Referenced by setLodIndex(). |
|
Definition at line 45 of file OgreTechnique.h. Referenced by _notifyNeedsRecompile(), and isLoaded(). |
|
Definition at line 44 of file OgreTechnique.h. Referenced by _compile(), _load(), _unload(), createPass(), getNumPasses(), getPass(), getPassIterator(), isTransparent(), operator=(), removeAllPasses(), removePass(), setAmbient(), setColourWriteEnabled(), setCullingMode(), setDepthBias(), setDepthCheckEnabled(), setDepthFunction(), setDepthWriteEnabled(), setDiffuse(), setFog(), setLightingEnabled(), setManualCullingMode(), setSceneBlending(), setSelfIllumination(), setShadingMode(), setShininess(), setSpecular(), setTextureAnisotropy(), and setTextureFiltering(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:21:03 2004