#pragma once

#include <Core/Math/Matrix.h>
#include <Core/Math/Vector.h>
#include <Juliet.h>

namespace Juliet
{
    struct PushData
    {
        Matrix ViewProjection;
        uint32 MeshIndex;
        uint32 TransformsBufferIndex;
        uint32 BufferIndex;
        uint32 TextureIndex;
        uint32 VertexOffset;
        uint32 Padding;
        float  Scale[2];
        float  Translate[2];
        float  Padding2[2];
        
        Vector3 GlobalLightDirection;
        float   GlobalLightPad;
        Vector3 GlobalLightColor;
        float   GlobalAmbientIntensity;

        uint32  LightBufferIndex;
        uint32  ActiveLightCount;
    };
} // namespace Juliet
