From d18f3480de2b6f81ff189f7fe9f586f3bbce4403 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 25 Aug 2023 00:05:19 +0200 Subject: probably fix it --- shaders/lightmap.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'shaders') diff --git a/shaders/lightmap.cpp b/shaders/lightmap.cpp index 353febe3..293e8f2e 100644 --- a/shaders/lightmap.cpp +++ b/shaders/lightmap.cpp @@ -82,11 +82,6 @@ auto lightmap_shader::make_framebuffer(Vector2i size) -> Framebuffer .clearColor(0, Color4{1, 0, 1, 1}) .clearColor(1, Color4{0, 0, 0, 1}); - framebuffer.fb.mapForDraw({ - { 0u, GL::Framebuffer::ColorAttachment{0} }, - { 1u, GL::Framebuffer::ColorAttachment{1} }, - }); - return framebuffer; } @@ -240,7 +235,9 @@ void lightmap_shader::add_light(Vector2 neighbor_offset, const light_s& light) float alpha = light.color.a() / 255.f; auto color = (Vector3{light.color.rgb()} / 255.f) * alpha; - framebuffer.fb.clearColor(0, Color4{0, 0, 0, 1}); + framebuffer.fb.mapForDraw({ + { 0u, GL::Framebuffer::ColorAttachment{0} }, + }); setUniform(LightColorUniform, color * alpha); setUniform(SizeUniform, Vector2(1) / real_image_size); @@ -259,6 +256,10 @@ void lightmap_shader::add_light(Vector2 neighbor_offset, const light_s& light) mesh_view.setCount((int32_t)count*6); AbstractShaderProgram::draw(mesh_view); + framebuffer.fb.mapForDraw({ + { 1u, GL::Framebuffer::ColorAttachment{1} }, + }); + setUniform(ModeUniform, BlendLightmapMode); AbstractShaderProgram::draw(light_mesh); } -- cgit v1.2.3