//----------------------------------------------------------------------- void TextureUnitState::setTextureName( const String& name, TextureType texType) { TexturePtr tex = retrieveTexture(name); if(!tex) return; tex->setTextureType(texType); setTexture(tex); }
//----------------------------------------------------------------------- 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; }
//----------------------------------------------------------------------- TexturePtr TextureManager::createManual(const String & name, const String& group, TextureType texType, uint width, uint height, uint depth, int numMipmaps, PixelFormat format, int usage, ManualResourceLoader* loader, bool hwGamma, uint fsaa, const String& fsaaHint) { TexturePtr ret = create(name, group, true, loader); ret->setTextureType(texType); ret->setWidth(width); ret->setHeight(height); ret->setDepth(depth); ret->setNumMipmaps((numMipmaps == MIP_DEFAULT)? mDefaultNumMipmaps : static_cast<size_t>(numMipmaps)); ret->setFormat(format); ret->setUsage(usage); ret->setHardwareGammaEnabled(hwGamma); ret->setFSAA(fsaa, fsaaHint); ret->createInternalResources(); return ret; }
//----------------------------------------------------------------------- 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; }