Added BackgroundShader implementation and viewportStart accessor method