I got the white trapezoid working. 
Currently I’m computing a point 1000 units in the camera direction and store its Z coordinate. Then I compute camera rays through the four corners of your screen and intersect that with a plane at that Z coordinate to obtain the four world points that are then converted into map space. Using this approach, how far you tilt your camera down affects the shape of the trapezoid and it will always represent exactly what part of the world you’re seeing. If you look directly down the trapezoid turns into a rectangle. Also, your screen’s aspect ratio is automatically accounted for. All in all I’m happy with how it works but if you have more suggestions let me know!
