add ShaderProgram.Singleton