refactor
implement spotlight
break quads into triangles in order to be consistent with OpenGL