From 4785a46ccaf3ca1249f26c5bfcb03849351065d5 Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Tue, 24 Oct 2023 22:33:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B8=D1=81=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D1=84=D0=B5=D1=80=D1=8B=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=82=D0=B8=20=D0=B4=D0=B5=D0=B9=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D0=B8=D1=8F=20=D0=B8=D1=81=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Lights.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Lights.cpp b/src/Lights.cpp index 0efae7b..4852fcf 100644 --- a/src/Lights.cpp +++ b/src/Lights.cpp @@ -181,17 +181,24 @@ void Light::render(ShaderProgram &shaderProgram, UBO &material_buffer) { // Загрузка модели лампочки при первом вызове функции static Scene bulb = loadOBJtoScene("../resources/models/bulb.obj", "../resources/models/", "../resources/textures/"); + static Model sphere = genShpere(1, 16, &bulb.root); // Цикл по источникам света for (int i = 0; i < count; i++) { // Сдвиг на позицию источника bulb.root.e_position() = data[i].position; + sphere.e_scale() = glm::vec3(data[i].attenuation.r); // Масштабирование сферы // Задание цвета - bulb.models.begin()->material.ka = data[i].color; + bulb.models.begin()->material.ka = sphere.material.ka = data[i].color; // Вызов отрисовки - bulb.render(shaderProgram, material_buffer); + bulb.render(shaderProgram, material_buffer); + + // Рисование сферы покрытия источника в режиме линий + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + sphere.render(shaderProgram, material_buffer); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); } }