From 4f5c5ee0cb5f26094eb66f0a0e830a37993d2172 Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Mon, 6 Nov 2023 21:10:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=BD=D0=B4=D0=B5=D1=80=20=D1=82?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=B9=20=D0=BE=D1=82=20=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=B5=D1=87=D0=BD=D1=8B=D1=85=20=D0=B8=D1=81=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=20=D0=B2=20=D0=B1=D1=83=D1=84?= =?UTF-8?q?=D0=B5=D1=80=20=D0=BA=D0=B0=D0=B4=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index d59ebf6..dfd1a57 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -383,6 +383,23 @@ int main(void) scene.render(sunShadowShader, material_data); rectangle.render(sunShadowShader, material_data); + // Изменим размер вывода для стороны кубической карты точечного источника + glViewport(0, 0, pointShadow_resolution, pointShadow_resolution); + // Активируем буфер кадра для теней от солнца + pointShadowBuffer.use(); + // Подключим шейдер для расчета теней + pointShadowShader.use(); + // Очистка буфера глубины + glClear(GL_DEPTH_BUFFER_BIT); + // Для каждого источника вызывается рендер сцены + for (int i = 0; i < Light::getCount(); i++) + { + glUniform1i(pointShadowShader.getUniformLoc("light_i"), i); + // Рендерим геометрию в буфер глубины + scene.render(pointShadowShader, material_data); + rectangle.render(pointShadowShader, material_data); + } + // Изменим размер вывода для окна glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); // Активируем базовый буфер кадра