09/include/Lights.h

30 lines
867 B
C
Raw Normal View History

2022-12-20 11:44:38 +00:00
#ifndef LIGHTS_H
#define LIGHTS_H
#include <GLM/glm.hpp>
#include "Buffers.h"
// Максимальное число источников света
#define MAX_LIGHTS 300
2022-12-20 11:44:38 +00:00
// Точечный источник света
struct LightData
{
alignas(16) glm::vec3 position; // Позиция
alignas(16) glm::vec3 color; // Цвет
};
// Источник света
class Light
{
public:
static int getUBOsize(); // Возвращает размер буфера в байтах
static void upload(UBO& lights_data); // Загрузка данных в буфер
static GLuint count; // количество используемых источников (должно быть <= MAX_LIGHTS)
static LightData data[MAX_LIGHTS]; // Массив данных по источникам света
};
2022-12-20 11:44:38 +00:00
#endif // LIGHTS_H