79464200

Date: 2025-02-24 16:13:28
Score: 1
Natty:
Report link

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

antialiased with 16 subsamples per pixel

antialiased with 256 subsamples per pixel

Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • Low reputation (1):
Posted by: 蛟龍Stormwyrm