Inventor(s)

Abstract

A method for rendering sun shadows that decides visibility once per receiving surface, from the light's side, instead of tracing a shadow ray for every pixel. Each receiver (a light-facing face of a primitive, a region of a rounded face, a small or carved primitive, a coarse stand-in, or a ground tile) is classified against exactly the occluders its reference shadow rays can meet: LIT when no occluder's outer bounding box, grown by a floating-point margin, meets the shaft swept toward the light; DARK when every ray crosses one opaque occluder's inner box, proven to lie inside its solid; EDGE when at most six occluders remain, which the pixel tests exactly; OVERFLOW, which is split into patches; or UNKNOWN, which falls back to the reference ray. Verdicts are computed off the frame, kept in a CPU store and a tagged GPU cache, and invalidated through light-space bins when something changes. A light-space relief map of nearest and fully shadowing depths settles or shortens the remaining rays. A verify mode compares every answer with the reference ray, so the cache changes the cost of shadows but never the image.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.

Share

COinS