GLuint TextureManager::CreateTextureFromBuffer(TextureDefinition* texturedef) { #if MYFW_ANDROID return 0; #else return LoadTextureFromMemory( texturedef ); #endif }
// eng: loading from file // rus: загрузка из файла unsigned char* LoadTextureFromFile(MP_Manager* MP, const char* file_name, int* width, int* height) { MP_FILE_DATA fd; std::string texture_file=MP->GetPathToTexture(); texture_file+=file_name; MP->LoadFile(texture_file.c_str(), &fd); unsigned char* pixels=LoadTextureFromMemory(fd.data, fd.length, width, height); return pixels; }
textureHandle_t CTextureLoaderTGA<Allocator>::LoadTextureFromFile( const string_t<Allocator>& filePath) { Utility::LoadFileTo<uchar_t, Allocator>(filePath, m_memory, false); GetFormat(); LoadTextureFromMemory(); return InitTexture(); };
_Use_decl_annotations_ Texture AssetLoader::LoadTextureFromFile(const char* filename, bool supportsMips) const { char source[MAX_PATH]; sprintf_s(source, "%s%s", GetConfig().ContentRoot, filename); ImageFileData data; LoadImageFileData(source, &data); Texture texture(LoadTextureFromMemory(data.Width, data.Height, data.Pitch, data.Data, data.Format, data.MipCount, supportsMips)); FreeImageFileData(&data); return texture; }
void C3d::TextureChange(const StuffFile &sf,const vector<int> &textures) { ClearTextures(); for(unsigned int i=0; i < g_pTexture.size(); i++) { int index = textures[i]; g_pTexture[i] = NULL; if(index > -1) { vector<byte> data; data.resize(sf.files[index].fileSize); sf.files[index].handle->seekg(sf.files[index].fileOffset); sf.files[index].handle->read(reinterpret_cast<char*>(&data[0]), sf.files[index].fileSize); LPDIRECT3DTEXTURE9 tmp; if(LoadTextureFromMemory(g_pd3dDevice, &data[0], &tmp)) g_pTexture[i] = tmp; } } }