Once I understood non-linear vector spaces and coordinate transformations… wait what am I saying?<p>One day, I realized you can do cool stuff if you have geometry data as x, y, z:<p>t = x + y;<p>xt = sin(t);<p>yt = cos(t);<p>zt = sqrt(xt**2 + yt**2);<p>You’d only do it that way explicitly in a vertex shader—but congratulations, that’s a coordinate transformation!<p>Now do it with more xyzwqp’s, then, profit!<p>In my example, I compressed x+y down to one parameter. You’ll be combining 4 spacial dimensions into combinations of xyz for use with a rendering pipeline.<p>Or, alternatively projecting straight to xy. Not sure which is preferable.