summaryrefslogtreecommitdiffhomepage
path: root/shaders/lightmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/lightmap.cpp')
-rw-r--r--shaders/lightmap.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/shaders/lightmap.cpp b/shaders/lightmap.cpp
index bc61a434..7c955e1f 100644
--- a/shaders/lightmap.cpp
+++ b/shaders/lightmap.cpp
@@ -24,14 +24,14 @@ constexpr auto buffer_size = 256uz;
} // namespace
-auto lightmap_shader::make_framebuffer() -> Framebuffer
+auto lightmap_shader::make_framebuffer(Vector2i size) -> Framebuffer
{
Framebuffer framebuffer;
- framebuffer.fb = GL::Framebuffer{{ {}, image_size }};
+ framebuffer.fb = GL::Framebuffer{{ {}, size }};
framebuffer.color = GL::Texture2D{};
- framebuffer.color.setStorage(1, GL::TextureFormat::RGB8, image_size);
+ framebuffer.color.setStorage(1, GL::TextureFormat::RGB8, size);
//framebuffer.depth = GL::Renderbuffer{};
//framebuffer.depth.setStorage(GL::RenderbufferFormat::DepthComponent32F, fb_size);
@@ -53,7 +53,8 @@ GL::Mesh lightmap_shader::make_mesh()
}
lightmap_shader::lightmap_shader() :
- framebuffer { make_framebuffer() },
+ framebuffer { make_framebuffer(image_size) },
+ accum { make_framebuffer(image_size) },
_quads { ValueInit, buffer_size },
_indexes { ValueInit, buffer_size },
_vertex_buf { _quads },
@@ -116,10 +117,8 @@ void lightmap_shader::add_light(Vector2i neighbor_offset, const light_s& light)
I = 1;
break;
case light_falloff::linear:
- I = light.dist * tile_size / 5;
- break;
case light_falloff::quadratic:
- I = light.dist * tile_size * 100;
+ I = light.dist * tile_size;
break;
}