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

#pragma once

#include "glmRTTI.h"

#include <glmGolaemCharacterDeclarations.h> // GolaemCharacter declarations

namespace glm
{
    struct ShaderGroupV0;
    /**
	* \brief Shading Group
	*/
    class GLM_CORE_API ShadingGroupV1
    {
        GLM_RTTI("6a5593cc-91df-419b-b542-a92009deecf2", ShadingGroupV1, addAttributes);

    public:
        GLM_CLASS_STAT_ID( glm::MemoryStatIds::GolaemShared);

        /// The name of the shading group
        glm::GlmString _name;

        /**
		* \brief The shader attributes
		*/
        glm::Array<int> _shaderAssets;
        glm::Array<int> _shaderAttributes;

        ShadingGroupV1();
        ~ShadingGroupV1();

    protected:
        /**
		* \brief Inspection needed method declaring the inspectable attributes.
		*/
        static void addAttributes();
    };
} // namespace glm
