At the moment, it assumes the viewport is the same as the screen resolution. I can change that in a future version, but for now, try this:
In the LightSystem::RenderLightTexture() function, there is the following code:
glBegin(GL_QUADS);
glTexCoord2i(0, 0); glVertex2f(0.0f, 0.0f);
glTexCoord2i(1, 0); glVertex2f(viewSize.x, 0.0f);
glTexCoord2i(1, 1); glVertex2f(viewSize.x, viewSize.y);
glTexCoord2i(0, 1); glVertex2f(0.0f, viewSize.y);
glEnd();
if(m_useBloom)
{
m_bloomTexture.getTexture().bind();
glBlendFunc(GL_ONE, GL_ONE);
glBegin(GL_QUADS);
glTexCoord2i(0, 0); glVertex2f(0.0f, 0.0f);
glTexCoord2i(1, 0); glVertex2f(viewSize.x, 0.0f);
glTexCoord2i(1, 1); glVertex2f(viewSize.x, viewSize.y);
glTexCoord2i(0, 1); glVertex2f(0.0f, viewSize.y);
glEnd();
}
Change it to:
sf::Vector2u viewSizeui(m_pWin->getSize());
glBegin(GL_QUADS);
glTexCoord2i(0, 0); glVertex2f(0.0f, 0.0f);
glTexCoord2i(1, 0); glVertex2f(viewSizeui.x, 0.0f);
glTexCoord2i(1, 1); glVertex2f(viewSizeui.x, viewSizeui.y);
glTexCoord2i(0, 1); glVertex2f(0.0f, viewSizeui.y);
glEnd();
if(m_useBloom)
{
m_bloomTexture.getTexture().bind();
glBlendFunc(GL_ONE, GL_ONE);
glBegin(GL_QUADS);
glTexCoord2i(0, 0); glVertex2f(0.0f, 0.0f);
glTexCoord2i(1, 0); glVertex2f(viewSizeui.x, 0.0f);
glTexCoord2i(1, 1); glVertex2f(viewSizeui.x, viewSizeui.y);
glTexCoord2i(0, 1); glVertex2f(0.0f, viewSizeui.y);
glEnd();
}
I haven't tested it, but it should work.
Keep in mind that if you want to change internal resolution of the light system, you need to re-created it, since it relies on render textures.