I've done something of this sort by doing ray tracing (ray casting really, since I care only about the first hit). Basically you subdivide the 3D projection plane into pixels, and make a ray from your eye point through the pixel towards the plane. If the ray hits the plane, convert the ray intersection point on your plane into texture coordinates and take that as the colour of your pixel. I have used a simple procedural texture to produce the checkerboard texture on the infinite plane in my renderings below.
You'll get aliasing artefacts especially very close to the horizon line, but that can be ameliorated by doing subpixel sampling, and you can see the results as the number of subpixel samples increases.
unantialiased raycast checkerboard texture on an infinite plane