Параллельный источник
This commit is contained in:
@@ -63,4 +63,27 @@ class Light : public Node
|
||||
static Light lights[MAX_LIGHTS]; // Массив источников-узлов сцены
|
||||
};
|
||||
|
||||
// Класс направленного источника освещения
|
||||
class Sun
|
||||
{
|
||||
public:
|
||||
static Sun& get(); // Доступ к синглтону
|
||||
static void upload(UBO& sun_data); // Загрузка данных об источнике в буфер
|
||||
|
||||
const glm::vec3& c_direction() const; // Константный доступ к направлению лучей источника
|
||||
glm::vec3& e_direction(); // Неконстантная ссылка для изменений направления лучей источника
|
||||
|
||||
const glm::vec3& c_color() const; // Константный доступ к цвету
|
||||
glm::vec3& e_color(); // Неконстантная ссылка для изменений цвета
|
||||
|
||||
private:
|
||||
Sun(const glm::vec3 &direction = glm::vec3(0.0f, -1.0f, 0.0f), const glm::vec3 &color = glm::vec3(0.4f, 0.4f, 0.4f));
|
||||
|
||||
alignas(16) glm::vec3 direction; // Направление лучей источника
|
||||
alignas(16) glm::vec3 color; // Цвет
|
||||
|
||||
static Sun instance; // Экземпляр синглтона
|
||||
static bool uploadReq; // Необходимость загрузки в следствии изменений
|
||||
};
|
||||
|
||||
#endif // LIGHTS_H
|
||||
|
||||
Reference in New Issue
Block a user