Color conditioned diffusion prior
US-2024404144-A1 · Dec 5, 2024 · US
US9679396B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9679396-B2 |
| Application number | US-201414502903-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2014 |
| Priority date | May 30, 2014 |
| Publication date | Jun 13, 2017 |
| Grant date | Jun 13, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · CPC title
Display of multiple viewports · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.