Unitary shadows

US10013776B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10013776-B2
Application numberUS-201715587869-A
CountryUS
Kind codeB2
Filing dateMay 5, 2017
Priority dateMay 30, 2014
Publication dateJul 3, 2018
Grant dateJul 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for rendering shadows for display, comprising: identifying a plurality of overlapping windows arranged in an above to below order, each window below a 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. 2. The method of claim 1 , wherein the unitary shadow region's shadow intensity value is rendered no more than once. 3. The method of claim 1 , wherein the unitary shadow region comprises a region of a surface onto which the set union would cast a shadow. 4. The method of claim 1 , wherein generating the set union comprises rendering each of the plurality of windows whose one or more edges form the single perimeter into a second memory to form the set union. 5. The method of claim 1 , wherein determining a shadow intensity value for the unitary shadow region comprises: identifying alpha values for each of the windows used for forming the set union; and blurring the alpha values of the windows used for forming the set union into the unitary shadow region in accordance with a blur parameter. 6. The method of claim 1 , wherein the first memory comprises one or more of a shadowbuffer memory and a framebuffer memory. 7. The method of claim 6 , further comprising rendering the first memory into one or more of the shadowbuffer memory and the framebuffer memory. 8. 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 a 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. 9. The non-transitory computer-readable storage medium of claim 8 , wherein the unitary shadow region's shadow intensity value is rendered no more than once. 10. The non-transitory computer-readable storage medium of claim 8 , wherein the unitary shadow region comprises a region of a surface onto which the set union would cast a shadow. 11. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions executable by the one or more processors to generate the set union comprise instructions executable by the one or more processors to render each of the plurality of windows whose one or more edges form the single perimeter into a second memory to form the set union. 12. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions executable by the one or more processors to determine a shadow intensity value for the unitary shadow region comprise instructions executable by the one or more processors to: identify alpha values for each of the windows used for forming the set union; and blur the alpha values of the windows used for forming the set union into the unitary shadow region in accordance with a blur parameter. 13. The non-transitory computer-readable storage medium of claim 8 , wherein the first memory comprises one or more of a shadowbuffer memory and a framebuffer memory. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions comprise additional instructions executable by the one or more processors to render the first memory into one or more of the shadowbuffer memory and the framebuffer memory. 15. A system configured for rendering shadows for display, the system comprising: one or more processors; and a memory coupled to the one or more processors, on which are stored instructions, comprising instructions that when executed by the one or more processors cause at least some of the one or more processors to: identify a plurality of overlapping windows arranged in an above to below order, each window below a 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. 16. The system of claim 15 , wherein the unitary shadow region's shadow intensity value is rendered no more than once. 17. The system of claim 15 , wherein the unitary shadow region comprises a region of a surface onto which the set union would cast a shadow. 18. The system of claim 15 , wherein the instructions that, when executed by the one or more processors, cause at least some of the one or more processors to generate the set union comprise instructions that, when executed by the one or more processors, cause at least some of the one or more processors to render each of the plurality of windows whose one or more edges form the single perimeter into a second memory to form the set union. 19. The system of claim 15 , wherein the instructions that, when executed by the one or more processor, cause at least some of the one or more processors to determine a shadow intensity value for the unitary shadow region comprise instructions that, when executed by the one or more processors, cause the at least some of the one or more processors to: identify alpha values for each of the windows used for forming the set union; and blur the alpha values of the windows used for forming the set union into the unitary shadow region in accordance with a blur parameter. 20. The system of claim 15 , wherein the first memory comprises one or more of a shadowbuffer memory and a framebuffer memory.

Assignees

Inventors

Classifications

  • G06T11/10Primary

    Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · CPC title

  • Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay (G09G5/02 takes precedence) · CPC title

  • Display of multiple viewports · CPC title

  • G06T11/00Primary

    Two-dimensional [2D] image generation · CPC title

  • Digital output to display device {; Cooperation and interconnection of the display device with other functional units} · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10013776B2 cover?
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 …
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06T11/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).