Unitary Shadows
AssigneeApple Inc.
InventorsJames J. Shearer, Christopher P. Wright, Ryan N. Armstrong, Chad E. Jones
Life of this patent
Estimating the term…
Abstract
Methods, devices, systems, and computer readable media to improve the operation of window-based operating systems are disclosed. In general, techniques are disclosed for rendering areas on a display in which two or more shadows overlap. More particularly, two or more shadow regions (based on the arrangement of overlapping windows/shadows) are identified and merged in a top-down process so that no region's shadow is painted or rendered more than once. A shadowbuffer (analogous to a system's framebuffer) may be used to retain windows' alpha information separately from the corresponding windows' shadow intensity information.
Claims21
A method for rendering shadows for display, comprising:
- identifying a plurality of overlapping windows arranged in an above to below order, each window below the top window having a shadow-above region, a window's shadow-above region comprising that region of the window onto which an overlapping immediately above window would cast a shadow, each shadow-above region having one or more shadow intensity values;
- determining a single perimeter of the plurality of overlapping windows, the single perimeter comprising one or more edges of the plurality of overlapping windows;
- generating a set union of the plurality of overlapping windows whose one or more edges are part of the single perimeter, the set union corresponding to a surface having edges that comprise the single perimeter;
- generating a unitary shadow region corresponding to the set union;
- determining a shadow intensity value for the unitary shadow region;
- and
- rendering the unitary shadow region's shadow intensity value into a first memory.
A non-transitory computer-readable storage medium storing instructions, the instructions comprising instructions for rendering shadows for display that are executable by one or more processors to:
- identify a plurality of overlapping windows arranged in an above to below order, each window below the top window having a shadow-above region, a window's shadow-above region comprising that region of the window onto which an overlapping immediately above window would cast a shadow, each shadow-above region having one or more shadow intensity values;
- determine a single perimeter of the plurality of overlapping windows, the single perimeter comprising one or more edges of the plurality of overlapping windows;
- generate a set union of the plurality of overlapping windows whose one or more edges are part of the single perimeter, the set union corresponding to a surface having edges that comprise the single perimeter;
- generate a unitary shadow region corresponding to the set union;
- determine a shadow intensity value for the unitary shadow region;
- and
- render the unitary shadow region's shadow intensity value into a first memory.
A system configured for rendering shadows for display, the system comprising:
- logic configured to:
- identify a plurality of overlapping windows arranged in an above to below order, each window below the top window having a shadow-above region, a window's shadow-above region comprising that region of the window onto which an overlapping immediately above window would cast a shadow, each shadow-above region having one or more shadow intensity values;
- determine a single perimeter of the plurality of overlapping windows, the single perimeter comprising one or more edges of the plurality of overlapping windows;
- generate a set union of the plurality of overlapping windows whose one or more edges are part of the single perimeter, the set union corresponding to a surface having edges that comprise the single perimeter;
- generate a unitary shadow region corresponding to the set union;
- determine a shadow intensity value for the unitary shadow region;
- and
- render the unitary shadow region's shadow intensity value into a first memory.
Dependencies are inferred from the claim text.