In case it helps, I posted a very high-level overview in [Announcement] MakeCode Arcade Mini Game Jam #4 - Outer Space Jam - #71 by kwx . The projection is pretty much the usual perspective divide apart from using fixed-point math, see the perspectiveTransform(vert: number[])
method in the triangle.ts file. Before doing that, it uses reentrant polygon clipping to ensure that it doesn’t get divide-by-zero errors or problems with behind-the-user surfaces becoming visible.
1 Like