From b2316eeb3147557c7913d099627c0625d6a91b07 Mon Sep 17 00:00:00 2001 From: "re.kovalev" Date: Wed, 23 Nov 2022 14:17:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BB=D0=BE=D1=81=D0=BA=D0=BE=D0=B5=20?= =?UTF-8?q?=D0=B7=D0=B0=D1=82=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=87?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B7=20flat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shaders/shader.frag | 5 +---- shaders/shader.vert | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/shaders/shader.frag b/shaders/shader.frag index 54f15ae..54fa1c6 100644 --- a/shaders/shader.frag +++ b/shaders/shader.frag @@ -4,7 +4,7 @@ in vec2 texCoord; in vec3 Cam_vertex; // Позиция камеры относительно вершины in vec3 L_vertex; // Позиция источника света относительно вершины -in vec3 Vertex_view; // Вершина в пространстве камеры +flat in vec3 N; // Нормаль layout(std140, binding = 1) uniform Material { @@ -28,9 +28,6 @@ out vec4 color; void main() { - // Нормаль - vec3 N = normalize(cross(dFdx(Vertex_view), dFdy(Vertex_view))); - // Диффузная составляющая float diffuse = max(dot(L_vertex, N), 0.0); // скалярное произведение с отсеканием значений < 0 diff --git a/shaders/shader.vert b/shaders/shader.vert index cc1e933..e5e1868 100644 --- a/shaders/shader.vert +++ b/shaders/shader.vert @@ -23,7 +23,7 @@ out vec2 texCoord; out vec3 Cam_vertex; // Позиция камеры относительно вершины out vec3 L_vertex; // Позиция источника света относительно вершины -out vec3 Vertex_view; // Вершина в пространстве камеры +flat out vec3 N; // Нормаль трансформированная void main() { @@ -31,7 +31,7 @@ void main() Cam_vertex = normalize(camera.position - P.xyz); L_vertex = normalize(light_v.position - P.xyz); - Vertex_view = P.xyz; + N = normalize(mat3(model) * normals); // трансформация нормали gl_Position = camera.projection * camera.view * P; texCoord = inTexCoord;