From ebbfe32c1f0e0001623eb2582dc6048e2e1f3b50 Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Tue, 31 Oct 2023 21:54:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BE=20=D0=B3?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D0=B0=D1=85=20=D0=BA=D0=B0=D1=81?= =?UTF-8?q?=D0=BA=D0=B0=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shaders/lighting.frag | 2 ++ src/main.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/shaders/lighting.frag b/shaders/lighting.frag index 5197ef5..33e4fbd 100644 --- a/shaders/lighting.frag +++ b/shaders/lighting.frag @@ -30,6 +30,8 @@ layout(std140, binding = 3) uniform Sun mat4 vp; } sun; +uniform float camera_cascade_distances[4]; // Размер массива должен соответствовать количеству каскадов + uniform sampler2D gPosition; uniform sampler2D gNormal; uniform sampler2D gDiffuseP; diff --git a/src/main.cpp b/src/main.cpp index 4b701d3..92ae9c1 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -182,6 +182,8 @@ int main(void) lightShader.link(); const char* gtextures_shader_names[] = {"gPosition", "gNormal", "gDiffuseP", "gAmbientSpecular", "sunShadowDepth"}; lightShader.bindTextures(gtextures_shader_names, sizeof(gtextures_shader_names)/sizeof(const char*)); + // Загрузка данных о границах каскадов + glUniform1fv(lightShader.getUniformLoc("camera_cascade_distances"), CAMERA_CASCADE_COUNT, &camera_cascade_distances[1]); glm::vec3 quadVertices[] = { {-1.0f, 1.0f, 0.0f} , {-1.0f, -1.0f, 0.0f} @@ -216,6 +218,8 @@ int main(void) ShaderProgram sunShadowShader; // Загрузим шейдер sunShadowShader.load(GL_VERTEX_SHADER, "shaders/sun_shadow.vert"); + sunShadowShader.load(GL_GEOMETRY_SHADER, "shaders/sun_shadow.geom"); + sunShadowShader.load(GL_FRAGMENT_SHADER, "shaders/empty.frag"); sunShadowShader.link(); // Модель прямоугольника