refactored the ScreenPass base class to handle multiple input shaders