Let the point light be at . For a subdivision curve point , its projected shadow lies on the ray beyond the subdivision curve:
The shadow is the first intersection of that ray with the receiving subdivision surface after the subdivision curve point. Thus solve
and retain the smallest admissible . This is the defining equation for shadow tracing for a subdivision curve.
First organize the subdivision surface patches into a bounding volume hierarchy. For a restricted subdivision curve interval, rays through its enclosing volume define an enclosing ray cone from ; subdivision surface bounds that do not meet this cone can be rejected. Refine surviving subdivision curve intervals and subdivision surface patches. For a fixed , isolate all possible ray intersections using those bounds, then correct each regular candidate with the Jacobian matrix for the Newton method
The scalar triple product shows that is invertible exactly when . Enforce the patch domain and throughout correction, and choose the smallest valid . Bounds or validated root isolation, rather than a fixed list of subdivision curve samples, are needed if every shadow component is to be found.
Once a regular intersection is known, follow it as changes. Differentiating gives a useful predictor:
Take a small predictor step in and apply a Newton method correction at the new subdivision curve parameter. Move through patch adjacency with its chart transition; shrink steps when derivatives or error estimates change rapidly. Subdivide further and test a geometric curve-to-chord bound to approximate the resulting shadow trace to a chosen tolerance.
Surface-boundary crossings terminate or clip a trace. If a ray has no admissible subdivision surface intersection, that subdivision curve parameter contributes no shadow on . At grazing contact the Jacobian is singular, so use interval subdivision and root isolation to detect the event and seed any outgoing branches. If several intersections are possible, recheck which is first; facing the light locally is helpful but is not a proof of global uniqueness. Open-curve endpoints and closed-curve seams must also be accounted for. With a compact represented geometry, transversal intersections and validated subdivision bounds, this algorithm traces every visible component; a purely sampled implementation gives only a tolerance-dependent approximation and cannot certify arbitrary tiny missed components.
For a directional light, replace the ray by for a fixed propagation vector and . The intersection equation becomes , with Jacobian and continuation right-hand side . The same enquiries and event handling apply.