Closed Scottapotamas closed 5 years ago
In discussion, we could just manually add clipping planes in Blender/$TOOL which provide the suitable clipping requirements.
This concept can be extended to 'clipping geometry' in the form of a mesh.
A lot of the edge cases aren't necessarily going to be an issue from an aesthetic standpoint (culling spline segments in lines normal to the camera, or tangential to another arc.
This would potentially allow us to also perform 'cast masks' on the spine data, that is, the understanding that certain parts (or entire splines) being drawn are X layers deep, and we could then do varied brightness of the LED for those back faces (would allow the back faces to be drawn, then objects behind the back face would be darker again).
The motion planner needs to:
Key Questions/Problems:
How do we perform the visibility culling?
Probably receiving a series of input splines (thus no thickness/surface) and need to apply a screen-space domain geometry culling step.
Culling against a plane (frustum) would be reasonably straightforward for these splines, but doesn't help with self-shadowing geometries infront of that plane.
We probably need to apply a thickening step to our geometry to decide what needs culling. Beam tracing as a concept seems conceptually close, though most implementations are focused on polygons.