int main(int argc, char* argv[]) { TextureUnitState a; std::string str = ""; a.setCubicTextureName(str); a.setCubicTextureName(&str); std::cout << "done" << std::endl; }
//----------------------------------------------------------------------- bool ShaderExReflectionMap::preAddToRenderState( RenderState* renderState, Pass* srcPass, Pass* dstPass ) { TextureUnitState* textureUnit; // Create the mask texture unit. textureUnit = dstPass->createTextureUnitState(); textureUnit->setTextureName(mMaskMapTextureName); mMaskMapSamplerIndex = dstPass->getNumTextureUnitStates() - 1; // Create the reflection texture unit. textureUnit = dstPass->createTextureUnitState(); if (mReflectionMapType == TEX_TYPE_2D) { textureUnit->setTextureName(mReflectionMapTextureName); } else { textureUnit->setCubicTextureName(mReflectionMapTextureName, true); } mReflectionMapSamplerIndex = dstPass->getNumTextureUnitStates() - 1; return true; }
//----------------------------------------------------------------------- bool RTShaderSRSTexturedFog::preAddToRenderState(const RenderState* renderState, Pass* srcPass, Pass* dstPass) { if (mFactory == NULL) return false; FogMode fogMode; ColourValue newFogColour; Real newFogStart, newFogEnd, newFogDensity; if (srcPass->getFogOverride()) { fogMode = srcPass->getFogMode(); newFogStart = srcPass->getFogStart(); newFogEnd = srcPass->getFogEnd(); newFogDensity = srcPass->getFogDensity(); mPassOverrideParams = true; } else { SceneManager* sceneMgr = ShaderGenerator::getSingleton().getActiveSceneManager(); if (sceneMgr == NULL) { fogMode = FOG_NONE; newFogStart = 0.0; newFogEnd = 0.0; newFogDensity = 0.0; } else { fogMode = sceneMgr->getFogMode(); newFogStart = sceneMgr->getFogStart(); newFogEnd = sceneMgr->getFogEnd(); newFogDensity = sceneMgr->getFogDensity(); } mPassOverrideParams = false; } // Set fog properties. setFogProperties(fogMode, newFogStart, newFogEnd, newFogDensity); // Override scene fog since it will happen in shader. dstPass->setFog(true, FOG_NONE, ColourValue::White, newFogDensity, newFogStart, newFogEnd); TextureUnitState* tus = dstPass->createTextureUnitState(mFactory->getBackgroundTextureName()); tus->setCubicTextureName(mFactory->getBackgroundTextureName(), true); mBackgroundSamplerIndex = dstPass->getNumTextureUnitStates() - 1; return true; }