//----------------------------------------------------------------------------- Technique& Technique::operator=(const Technique& rhs) { mName = rhs.mName; this->mIsSupported = rhs.mIsSupported; this->mLodIndex = rhs.mLodIndex; this->mSchemeIndex = rhs.mSchemeIndex; this->mShadowCasterMaterial = rhs.mShadowCasterMaterial; this->mShadowCasterMaterialName = rhs.mShadowCasterMaterialName; this->mShadowReceiverMaterial = rhs.mShadowReceiverMaterial; this->mShadowReceiverMaterialName = rhs.mShadowReceiverMaterialName; this->mGPUVendorRules = rhs.mGPUVendorRules; this->mGPUDeviceNameRules = rhs.mGPUDeviceNameRules; // copy passes removeAllPasses(); Passes::const_iterator i, iend; iend = rhs.mPasses.end(); for (i = rhs.mPasses.begin(); i != iend; ++i) { Pass* p = OGRE_NEW Pass(this, (*i)->getIndex(), *(*i)); mPasses.push_back(p); } // Compile for categorised illumination on demand clearIlluminationPasses(); mIlluminationPassesCompilationPhase = IPS_NOT_COMPILED; return *this; }
//----------------------------------------------------------------------------- Technique::~Technique() { removeAllPasses(); clearIlluminationPasses(); }
//----------------------------------------------------------------------- CompositionTargetPass::~CompositionTargetPass() { removeAllPasses(); }
DRenderTechnique::~DRenderTechnique() { removeAllPasses(); }