a simple test for a generative, deterministic camera path through the holes of a menger sponge.
the menger sponge is done through ray-marching of a corresponding distance-formula.
this implicit distance field is also used to keep the camera outside of walls.
the original camera path is a circle around the z-axis of the cube, at some z-offset, shown as blue dot in the slice (top-left).
the green dot is the actual camera position. it is offset to the original position by the scene-normal (calculated from the distance field) until a desired distance to any surface is archived. the path is 'deterministic' because a position can be queried at each animation time-step without the knowledge of previous time-steps. of course, this can lead to very jumpy animation-paths which are smoothed out through a low-pass filter (so actually, the path is only semi-deterministic). the filter is the reason why the camera sometimes hits a wall.
while it's nice to have a deterministic path for animated objects in production (as opposed to e.g. a free-running particle system), this actual method is quite useless for smooth animations. also, the camera-up vector is undefined. in free-running systems, it would be incremented step-by-step in some manner. in this example the look-at-point is the center of the cube and the up-vector is some function of the scene-time.
both the rendering, and the path-adjustment are done in GLSL. framework was TouchDesigner.