///////////////////////////////////////////////////////////////////////////////////////////////////
// OpenGL Image Copyright (c) 2008 - 2011 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2008-12-19
// Updated : 2010-01-09
// Licence : This source is under MIT License
// File    : gli/gtx/compression.hpp
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef GLI_GTX_COMPRESSION_INCLUDED
#define GLI_GTX_COMPRESSION_INCLUDED

namespace gli{
namespace gtx{
namespace compression
{


}//namespace compression
}//namespace gtx
}//namespace gli

namespace gli{using namespace gtx::compression;}

#include "compression.inl"

#endif//GLI_GTX_COMPRESSION_INCLUDED
