Your edit gave me this error, which is the same for my code.
error C2664: 'void sf::RenderTarget::draw(const sf::Vertex *,unsigned int,sf::PrimitiveType,const sf::RenderStates &)' : cannot convert argument 2 from 'sf::Shader' to 'const sf::RenderStates &'
1> Reason: cannot convert from 'sf::Shader' to 'const sf::RenderStates'
It's basically the example that I gave that doesn't work, there's little to no difference between
window.draw(sf::Sprite(m_FBO.getTexture()), m_ScreenShader);
and
sf::Sprite sprite(m_FBO.getTexture());
window.draw(sprite, m_ScreenShader);
Currently I am trying other stuff out, this seems to look like what I need, but need to test it out if it truly renders to m_FBO before m_FBO.display();. Haven't created any test objects.
void Application::Render()
{
m_FBO.display();
m_ScreenShader.setParameter("m_Texture", m_Texture);
sf::Shader::bind(&m_ScreenShader);
draw(sf::Sprite(m_FBO.getTexture()));
display();
sf::Shader::bind(0);
}