Adds a lot of GL calls, blech