//----------------------------------------------------------------------- TexturePtr TextureManager::loadRawData(const String &name, const String& group, DataStreamPtr& stream, ushort uWidth, ushort uHeight, PixelFormat format, TextureType texType, int numMipmaps, Real gamma, bool hwGamma) { TexturePtr tex = create(name, group, true); tex->setTextureType(texType); tex->setNumMipmaps((numMipmaps == MIP_DEFAULT)? mDefaultNumMipmaps : static_cast<size_t>(numMipmaps)); tex->setGamma(gamma); tex->setHardwareGammaEnabled(hwGamma); tex->loadRawData(stream, uWidth, uHeight, format); return tex; }
//----------------------------------------------------------------------- TexturePtr TextureManager::loadImage( const String &name, const String& group, const Image &img, TextureType texType, int numMipmaps, Real gamma, bool isAlpha, PixelFormat desiredFormat, bool hwGamma) { TexturePtr tex = create(name, group, true); tex->setTextureType(texType); tex->setNumMipmaps((numMipmaps == MIP_DEFAULT)? mDefaultNumMipmaps : static_cast<size_t>(numMipmaps)); tex->setGamma(gamma); tex->setTreatLuminanceAsAlpha(isAlpha); tex->setFormat(desiredFormat); tex->setHardwareGammaEnabled(hwGamma); tex->loadImage(img); return tex; }
//----------------------------------------------------------------------- TextureManager::ResourceCreateOrRetrieveResult TextureManager::createOrRetrieve( const String &name, const String& group, bool isManual, ManualResourceLoader* loader, const NameValuePairList* createParams, TextureType texType, int numMipmaps, Real gamma, bool isAlpha, PixelFormat desiredFormat, bool hwGamma) { ResourceCreateOrRetrieveResult res = Ogre::ResourceManager::createOrRetrieve(name, group, isManual, loader, createParams); // Was it created? if(res.second) { TexturePtr tex = res.first; tex->setTextureType(texType); tex->setNumMipmaps((numMipmaps == MIP_DEFAULT)? mDefaultNumMipmaps : static_cast<size_t>(numMipmaps)); tex->setGamma(gamma); tex->setTreatLuminanceAsAlpha(isAlpha); tex->setFormat(desiredFormat); tex->setHardwareGammaEnabled(hwGamma); } return res; }