working opengl camera