summaryrefslogtreecommitdiffhomepage
path: root/shaders/lightmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/lightmap.cpp')
-rw-r--r--shaders/lightmap.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/shaders/lightmap.cpp b/shaders/lightmap.cpp
index 3e3967ee..a1635fa1 100644
--- a/shaders/lightmap.cpp
+++ b/shaders/lightmap.cpp
@@ -170,7 +170,7 @@ std::array<Vector3, 4>& lightmap_shader::alloc_rect()
}
}
-lightmap_shader::lightmap_shader()
+lightmap_shader::lightmap_shader(texture_unit_cache& tuc) : tuc{tuc}
{
constexpr auto min_version = GL::Version::GL330;
const auto version = GL::Context::current().version();
@@ -199,8 +199,8 @@ lightmap_shader::lightmap_shader()
}};
light_mesh = make_light_mesh(GL::Buffer{blend_vertexes}, GL::Buffer{quad_indexes(0)});
- framebuffer.scratch.bind(TextureSampler);
- setUniform(SamplerUniform, TextureSampler);
+ //framebuffer.scratch.bind(TextureSampler);
+ setUniform(SamplerUniform, -1);
setUniform(LightColorUniform, Color3{1, 1, 1});
setUniform(SizeUniform, Vector2(1));
setUniform(CenterFragcoordUniform, Vector2(0, 0));
@@ -264,10 +264,10 @@ void lightmap_shader::add_light(Vector2 neighbor_offset, const light_s& light)
mesh_view.setCount((int32_t)count*6);
AbstractShaderProgram::draw(mesh_view);
+ setUniform(SamplerUniform, tuc.bind(framebuffer.scratch));
framebuffer.fb.mapForDraw({
{ 1u, GL::Framebuffer::ColorAttachment{1} },
});
-
setUniform(ModeUniform, BlendLightmapMode);
AbstractShaderProgram::draw(light_mesh);
}