def render(self, visibility, topMost):
        if self.gameStarted:
            return
        if self.items == []:
            return
        Scene.render(self, visibility, topMost)
        with self.engine.view.orthogonalProjection(normalize = True):
            self.engine.view.setViewport(1,0)
            w, h = self.engine.view.geometry[2:4]

            if self.img_background:
                drawImage(self.img_background, scale = (1.0, -1.0), coord = (w/2,h/2), stretched = FULL_SCREEN)

            if self.mode == 0:
                self.renderSetlist(visibility, topMost)
                if self.moreInfoTime > 0:
                    self.engine.theme.setlist.renderMoreInfo(self)
                if self.miniLobbyTime > 0:
                    self.engine.theme.setlist.renderMiniLobby(self)
            # I am unsure how I want to handle this for now. Perhaps as dialogs, perhaps in SCS.
            elif self.mode == 1:
                self.renderSpeedSelect(visibility, topMost)
            elif self.mode == 2:
                self.renderTimeSelect(visibility, topMost)