lrGLTextureCubemapView lrGLResourceLoader::GetCubemap(const std::string &resource_id)
{
	auto I = Cubemaps.find(resource_id);
	if(I == Cubemaps.end())
	{
		liCubemap *LoadedCubemap = LoadCubemap(resource_id);
		
		lrGLTextureResource	*TextureResource = &Cubemaps[resource_id];
		lrGLTextureCubemapView	CubemapView(TextureResource);
		
		if(LoadedCubemap != nullptr)
		{
			const void *CubemapData[6] = {nullptr,nullptr,nullptr,nullptr,nullptr,nullptr};
			
			CubemapData[GL_TEXTURE_CUBE_MAP_POSITIVE_Y - GL_TEXTURE_CUBE_MAP_POSITIVE_X] = (void *)LoadedCubemap->GetSide(liCubemap::LI_CUBEMAP_UP).GetPixelArray();
			CubemapData[GL_TEXTURE_CUBE_MAP_NEGATIVE_Y - GL_TEXTURE_CUBE_MAP_POSITIVE_X] = (void *)LoadedCubemap->GetSide(liCubemap::LI_CUBEMAP_DOWN).GetPixelArray();
			CubemapData[GL_TEXTURE_CUBE_MAP_NEGATIVE_X - GL_TEXTURE_CUBE_MAP_POSITIVE_X] = (void *)LoadedCubemap->GetSide(liCubemap::LI_CUBEMAP_LEFT).GetPixelArray();
			CubemapData[GL_TEXTURE_CUBE_MAP_POSITIVE_X - GL_TEXTURE_CUBE_MAP_POSITIVE_X] = (void *)LoadedCubemap->GetSide(liCubemap::LI_CUBEMAP_RIGHT).GetPixelArray();
			CubemapData[GL_TEXTURE_CUBE_MAP_NEGATIVE_Z - GL_TEXTURE_CUBE_MAP_POSITIVE_X] = (void *)LoadedCubemap->GetSide(liCubemap::LI_CUBEMAP_FRONT).GetPixelArray();
			CubemapData[GL_TEXTURE_CUBE_MAP_POSITIVE_Z - GL_TEXTURE_CUBE_MAP_POSITIVE_X] = (void *)LoadedCubemap->GetSide(liCubemap::LI_CUBEMAP_BACK).GetPixelArray();
			
			TextureResource->Initialize();
			CubemapView.Fill(LoadedCubemap->GetSize(),CubemapData);
		}
		
		return CubemapView;
	}
	
	return lrGLTextureCubemapView(&I->second);
}
        //----------------------------------------------------------------------------
        //----------------------------------------------------------------------------
		void CubemapProvider::CreateResourceFromFile(Core::StorageLocation in_location, const std::string& in_filePath, const Core::IResourceOptionsBaseCSPtr& in_options, const Core::ResourceSPtr& out_resource)
		{
            LoadCubemap(in_location, in_filePath, in_options, nullptr, out_resource);
		}