From 42d5def07e7b6ce3e66ea85f82031e927dd4be78 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 8 Oct 2025 18:36:46 +0200 Subject: [PATCH] feat: light rendering --- src/renderer/renderer.cpp | 2 ++ src/shaders/simple.fs | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/renderer/renderer.cpp b/src/renderer/renderer.cpp index 8ca31da..8812e96 100644 --- a/src/renderer/renderer.cpp +++ b/src/renderer/renderer.cpp @@ -75,6 +75,8 @@ void Renderer::Render(entt::registry& registry) { return; } + m_shader.setBool("isLight", registry.all_of(entity)); + m_model = glm::mat4(1.0f); // Apply translation diff --git a/src/shaders/simple.fs b/src/shaders/simple.fs index 9cef70b..de95a02 100644 --- a/src/shaders/simple.fs +++ b/src/shaders/simple.fs @@ -27,6 +27,8 @@ uniform float opacity; uniform sampler2D diffuseTex; uniform bool useTexture; +uniform bool isLight; + #define LIGHT_COLOR vec3(1.0, 1.0, 1.0) void main() @@ -57,5 +59,11 @@ void main() vec3 result = (ambient + diffuse + specular) * texColor; + if (isLight) { + vec3 emissive = LIGHT_COLOR * 10.0; // big intensity + FragColor = vec4(emissive, 1.0); + return; + } + FragColor = vec4(result, opacity); } \ No newline at end of file