IP Library Granted Patent US 8,810,572
Granted Patent B2
US 8,810,572 · App. 13/286,030 · Granted Aug 19, 2014

Tessellation cache for object rendering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,810,572
App. No.
13/286,030
Granted
Aug 19, 2014
Kind
B2
Abstract

A method of rendering an object comprises, with a processor, generating a data set that mathematically defines an object, tessellating the object into a number of smaller objects to form a number of data subsets, storing the data subsets in a memory cache, converting the data subsets into a rasterized object, and displaying the rasterized object on a display device. A system for rendering an object comprises a processor to generate a data set that mathematically defines an object, tessellate the object into a number of smaller objects to form data subsets, transform the data subsets using a linear operator, and store the data subsets in a memory cache, a graphics processor to convert the data subsets into a rasterized object and display the rasterized object on a display device and a memory cache to receive and store the data subsets.

Claims (52)

1. A method of rendering an object comprising:

with a processor, determining whether a data set representing an object is stored in a memory cache, in which the data set comprises a transformation matrix that defines a previous transformation of the object;

generating a data set that mathematically defines an object when the data set representing the object is not stored in the memory cache;

tessellating the object into a number of smaller objects to form a number of data subsets;

transforming the data subsets using a linear operator;

counting the number of times the data subsets have been rendered into a rasterized object;

storing the data subsets to the memory cache when the number of times the data subsets have been rendered reaches a predetermined number;

converting the transformed data subsets into a rasterized object; and

displaying the rasterized object on a display device.

2. The method of claim 1 , in which the tessellated smaller objects comprise similarly shaped and sized triangular geometries.

3. The method of claim 1 , in which the data set comprises information defining the aesthetic qualities of the object.

4. The method of claim 3 , in which the aesthetic qualities of the object comprise object shading, object lighting, object surface texture, object perspective angles, or combinations thereof.

5. The method of claim 1 , further comprising creating space on the memory cache.

6. The method of claim 5 , in which creating space on the memory cache further comprises erasing the data subsets from the memory cache.

7. The method of claim 1 , further comprising storing the transformed data subsets in the memory cache.

8. The method of claim 7 , further comprising:

calling the stored transformed data subsets; and

further transforming the stored transformed data subsets using a linear operator.

9. The method of claim 7 , in which storing the transformed data subsets in the memory cache comprises storing the data set that mathematically defines an object and storing a transformation matrix corresponding to the transformed data subsets.

10. The method of claim 8 , in which further transforming the stored transformed data subsets using a linear operator is performed independent of any additional tessellating.

11. The system of claim 1 , in which the predetermined number is based on the display medium.

12. A system for rendering an object comprising:

a processor to:

determine whether a data set representing an object is stored in a memory cache, in which the data set comprises a transformation matrix that defines a previous transformation of the object;

generate a data set that mathematically defines an object when the data set representing the object is not stored in the memory cache;

tessellate the object into a number of tessellations to form data subsets;

transform the tessellations multiple times using a number of linear operators;

store the transformed tessellations in a memory cache;

call the transformed tessellations from the memory cache to further transform the tessellations; and

store the data subsets representing the tessellated object in the memory cache if a number of times that the data subsets are rendered into a rasterized object exceeds a predetermined number;

a graphics processor to:

convert the transformed tessellations into a rasterized object; and

display the rasterized object on a display device;

a memory cache to receive and store the data subsets; and

a counter to record the number of times that the data subsets are rendered into the rasterized object.

13. The system of claim 12 , in which the processor further creates space on the memory cache.

14. The system of claim 13 , in which the processor further erases the data subsets from the memory cache when the memory cache is full.

15. A computer program product for rendering an image, the computer program product comprising:

a non-transitory computer readable storage medium comprising computer usable program code embodied therewith, the computer usable program code comprising:

computer usable program that, when executed by a processor, determines whether a data set representing an object is stored in a memory cache, in which the data set comprises a transformation matrix that defines a previous transformation of the object;

computer usable program code that, when executed by a processor, generates a data set that mathematically defines an object when the data set representing the object is not stored in the memory cache;

computer usable program code that, when executed by a processor, tessellates the object into a number of smaller objects to form data subsets; computer usable program code that, when executed by a processor,

computer usable program code that, when executed by a processor, stores the data subsets in a memory cache if a number of times that the data subsets are rendered into a rasterized object exceeds a predetermine number;

computer usable program code that, when executed by a processor, transforms the data subsets multiple times using a number of linear operators before converting the data subsets into a rasterized object;

computer usable program code that, when executed by a processor, counts the number of times the data subsets have been rendered into a rasterized object;

computer usable program code that, when executed by a processor, stores the data subsets to the memory cache when the number of times the data subsets have been rendered reaches a predetermined number;

computer usable program code that, when executed by a processor, converts the transformed data subsets into the rasterized object; and

computer usable program code, that when executed by a processor, displays the rasterized object on the display device.

16. The computer program product of claim 15 , further comprising:

computer usable program code that, when executed by a processor, creates space on the memory cache;

computer usable program code that, when executed by a processor, counts the number of times the data subsets are rendered into the rasterized object; and

computer usable program code that, when executed by a processor, transforms the data subsets using a linear operator.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2014
From: HEWLETT-PACKARD COMPANY; HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.; PALM, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 032177/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 031837/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2013
From: PALM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 031837/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2013
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: PALM, INC.
Reel/Frame 030341/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2011
From: TREMBLAY, CHRISTOPHER
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 027416/0804 →