Unitary shadows

US9679396B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9679396-B2
Application numberUS-201414502903-A
CountryUS
Kind codeB2
Filing dateSep 30, 2014
Priority dateMay 30, 2014
Publication dateJun 13, 2017
Grant dateJun 13, 2017

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 is disclosed. In general, techniques are disclosed for correctly 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. To accomplish this 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).

The invention claimed is: 1. A method to render shadows for display, comprising: identifying a plurality of overlapping windows, wherein the windows have an above to below order; determining, for each window having an overlapping immediately above window, a shadow-above region, wherein a window's shadow-above region comprises that region of the window onto which an overlapping immediately above window would cast a shadow; determining shadow intensity values for each shadow-above region; determining a single perimeter of the plurality of overlapping windows, wherein the single perimeter comprises 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, wherein the set union corresponds to a surface having edges that comprise the single perimeter; generating a unitary shadow region corresponding to the set union, wherein the unitary shadow region comprises a region of a surface onto which the set union would cast a shadow; determining a shadow intensity value for the unitary shadow region; rendering the unitary shadow region's shadow intensity value into a first memory; and rendering each shadow-above region's shadow intensity values into the first memory. 2. The method of claim 1 , wherein determining shadow intensity values for each shadow-above region comprises: identifying, for each window having a shadow-above region, alpha values for each overlapping immediately above window forming at least a part of the window's shadow-above region; and blurring the alpha values for each overlapping immediately above window into the window's shadow-above region in accordance with a blur parameter. 3. 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. 4. 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. 5. The method of claim 1 , further comprising rendering the first memory into a framebuffer memory. 6. The method of claim 1 , wherein the first memory comprises a shadowbuffer memory. 7. The method of claim 6 , further comprising rendering the shadowbuffer memory into a framebuffer memory. 8. A non-transitory program storage device comprising instructions for rendering shadows for display stored thereon to cause one or more processors to: identify a plurality of overlapping windows, wherein the windows have an above to below order; determine, for each window having an overlapping immediately above window, a shadow-above region, wherein a window's shadow-above region comprises that region of the window onto which an overlapping immediately above window would cast a shadow; determine shadow intensity values for each shadow-above region; determine a single perimeter of the plurality of overlapping windows, wherein the single perimeter comprises 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, wherein the set union corresponds to a surface having edges that comprise the single perimeter; generate a unitary shadow region corresponding to the set union, wherein the unitary shadow region comprises a region of a surface onto which the set union would cast a shadow; determine a shadow intensity value for the unitary shadow region; render the unitary shadow region's shadow intensity value into a first memory; and render each shadow-above region's shadow intensity values into the first memory. 9. The non-transitory program storage device of claim 8 , wherein the instructions to cause the one or more processors to determine shadow intensity values for each shadow-above region comprise instructions to cause the one or more processors to: identify, for each window having a shadow-above region, alpha values for each overlapping immediately above window forming at least a part of the window's shadow-above region; and blur the alpha values for each overlapping immediately above window into the window's shadow-above region in accordance with a blur parameter. 10. The non-transitory program storage device of claim 8 , wherein the instructions to cause the one or more processors to generate the set union comprise instructions to cause 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. 11. The non-transitory program storage device of claim 8 , wherein the instructions to cause the one or more processors to determine a shadow intensity value for the unitary shadow region comprise instructions to cause 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. 12. The non-transitory program storage device of claim 8 , further comprising instructions to cause the one or more processors to render the first memory into a framebuffer memory. 13. The non-transitory program storage device of claim 8 , wherein the first memory comprises a shadowbuffer memory. 14. The non-transitory program storage device of claim 13 , further comprising instructions to cause the one or more processors to render the shadowbuffer memory into a framebuffer memory. 15. An electronic device configured to render shadows for display, comprising: a display; a first memory communicatively adapted to the display; one or more processors communicatively coupled to the display and the memory, wherein the one or more processors are configured to execute program code stored in the memory, the program code configured to cause the one or more processors to: identify a plurality of overlapping windows, wherein the windows are stored in the first memory and have an above to below order, determine, for each window having an overlapping immediately above window, a shadow-above region, wherein a window's shadow-above region comprises that region of the window onto which an overlapping immediately above window would cast a shadow, determine shadow intensity values for each shadow-above region, determine a single perimeter of the plurality of overlapping windows, wherein the single perimeter comprises 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, wherein the set union corresponds to a surface having edges that comprise the single perimeter, generate a unitary shadow region corresponding to the set union, wherein the unitary shadow region comprises a region of a surface onto which the set union would cast a shadow, determine a shadow intensity value for the unitary shadow region, render the unitary shadow region's shadow intensity value into the first memory, and render each shadow-above region's shadow intensity values into the first memory. 16. The electronic device of claim 15 , wherein the instructions to cause the one or more processors to determine shadow intensity values for each shadow-above region comprise instructi

Assignees

Inventors

Classifications

  • G06T11/10Primary

    Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · 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

  • 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

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 US9679396B2 cover?
Methods, devices, systems, and computer readable media to improve the operation of window-based operating systems is disclosed. In general, techniques are disclosed for correctly 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…
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 Jun 13 2017 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).