#include "Lights.h" GLuint Light::count = 0; // количество используемых источников (должно быть <= MAX_LIGHTS) LightData Light::data[MAX_LIGHTS]; // Массив данных по источникам света // возвращает размер буфера в байтах int Light::getUBOsize() { return sizeof(LightData) * MAX_LIGHTS + sizeof(GLuint); } // Загрузка данных в буфер void Light::upload(UBO& lights_data) { GLuint LightDataSize = sizeof(LightData); // Одного экземпляра структуры LightData if (count) lights_data.loadSub(data, sizeof(LightData)*count); // Загрузка данных об источниках // Загружаем кол-во источников lights_data.loadSub(&count, sizeof(count), LightDataSize*MAX_LIGHTS); }