Ported for desktop with GLES2 drawing. Needs recode to OpenGl 3 for more efficiency