This could probably be optimized a little bit
https://en.m.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm For @mexastudios