Thoughts on 4D Rendering: Slicing Method
UpDemo
Slices of a hypercube.
Design
Let's say you want to render an \(n\)-dimensional scene, one 3D slice at a time.
In 3D rendering, we typically represent the world as a mesh, where each polygon is described in terms of its vertices. For higher-dimensional rendering, I think this is a mistake. Instead, we should describe the polygons in terms of their backing and bounding planes.
Why? Vertices don't slice well. Planes do.
To slice a vertex-based polytope, it's a complicated process. In four dimensions, you check which vertices are on each side of the slice, use that to find all the edges that meet the slice, find said intersections, and somehow assemble them into the shape you want. And that only works in four dimensions! It's harder in five or more.
By contrast, to slice a plane-based polytope, you simply intersect all the planes with the slice. That's it.
So the main difficulty is finding a way to render a plane-based 3D mesh. But that has nothing to do with higher dimensions! It basically just means implementing an algorithm to triangulate your plane-based mesh, preferably to be executed on the GPU.
I've implemented this here.