forgot how confusing opengl is