work on doing some of the matrix math on cpu instead of per-vertex