Use WASD to move the camera, and the arrow keys to rotate it. Use the C key and SPACE to move the camera up and down. This is just a proof-of-concept. This engine currently has no Z-buffering, so whatever is programmed to be rendered last is what will appear on top.
~~~Credits~~~ Thanks to @DadOfMrLog for his triangle filler. Thanks to @griffpatch for his hack zoom block, this allowed the triangle filler to work without warping, and for sprites to seamlessly transition off-screen. ~~~Updates~~~ ~6-7-2020~ Switched to using rotation matrix for calculating the screen space, doubling performance.