Thanks a lot to @DadOfMrlog for the triangle filling code!!! Arrow keys to rotate, it uses rotation and perspective. This is an improvement on the last one because it now can render solid faces of objects, and it also now has algorithms that mean you can have one object in front of another, without having to change the actual code. The way it works, is you write all your coordinates, in (x, y, z) form in the X, Y, and Z lists. Then in the triangles list, you pick a number from 0-250, and that will be the colour of the triangle, then you write in the next three items the coordinate you want to use (in your X, Y and Z lists). Then you can repeat with more triangles, and it will automatically draw them all in the correct order, so that different sides look different.