/***************************************************************************
 *                                                                          *
 *  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
 *                                                                          *
 ***************************************************************************/

#pragma once

#include "glmString.h"

namespace glm
{
    // this are flags that can be combined
    class GLM_CORE_API LODLevelFlags
    {
    public:
        enum Value : uint32_t
        {
            ALL = 0xFFFFFFFF, 
            LOD0 = 1,
            LOD1 = 2,
            LOD2 = 4,
            LOD3 = 8,
            LOD4 = 16,
            LOD5 = 32,
            LOD6 = 64,
            LOD7 = 128,
            LOD8 = 256,
            LOD9 = 512
        };
    };

    uint32_t GLM_CORE_API getLODLevelFlagsFromSemiColumnSeparatedString(const GlmString& string);
    void GLM_CORE_API getStringFromLODLevel(const LODLevelFlags::Value& lodLevel, GlmString& result);

} // namespace glm
