got the mathematics for keeping the perspective correct working. You can now pass it a list of perspective points and it will go through each point correctly! Next we just need to automate this and have it write the polygons to an image buffer instead of the screen buffer and we will be set