//! opens the file and loads it into the surface ITexture* CNullDriver::loadTextureFromFile(IReadFile* file, const path& hashName ) { ITexture* texture = 0; IImage* image = createImageFromFile(file); if (image) { // create texture from surface texture = createDeviceDependentTexture(image, hashName.size() ? hashName : file->getFileName() ); Printer::log("Loaded texture", file->getFileName()); image->releaseRef(); } return texture; }
//! creates a Texture ITexture* CNullDriver::addTexture(const dimension2d<u32>& size, const path& name, ECOLOR_FORMAT format) { if(IImage::isRenderTargetOnlyFormat(format)) { Printer::log("Could not create ITexture, format only supported for render target textures.", ELL_WARNING); return 0; } if ( 0 == name.size () ) return 0; IImage* image = new CImage(format, size); ITexture* t = createDeviceDependentTexture(image, name); image->releaseRef(); addTexture(t); if (t) t->releaseRef(); return t; }