mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-15 08:45:25 +00:00
With Shadows on, Extrude & Bevel, Inflate, Rotate and Revolve built every solid twice: once for the art and again for the shadow. The build that draws a solid now also keeps the faces its shadow is cast from and the projection they were built with, and the shadow is cast from them. The art and the shadow are unchanged. - three-d: the solid builder can keep the projected facets and the view-space faces together (`Keep::Both`); `extrude_shadowed`, `plane_shadowed`, `inflate_shadowed` and `revolve_shadowed` return both, and `ShadowCaster::add_solid` adds the kept faces. Revolve's sweep draws the surface and keeps the shadow's faces in one pass; a shadow past its limits still gives the same error while the surface draws. - effects: the solids drawn hand their faces to the shadow. A stroke's solid left out of the art is still built for the shadow alone, as before. Tests compare each solid and its shadow with the two built apart, to the bit, and count the solids built for a shadowed object.