IP Library Granted Patent US 9,928,621
Granted Patent B2
US 9,928,621 · App. 14/798,165 · Granted Mar 27, 2018

Line stylization through graphics processor unit (GPU) textures

Inventors: Sean P. James (Ontario, CA); David Timothy Rudolf (San Francisco, CA); Ravinder Patnam Krishnaswamy (San Francisco, CA)
Assignee: Autodesk, Inc.
G06T11/203G06T2200/28
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 9,928,621
App. No.
14/798,165
Granted
Mar 27, 2018
Kind
B2
Abstract

A method, apparatus, system, and computer program product provide the ability to render a line having line stylization/linetype pattern via texture mapping of a graphics processing unit (GPU). Linetype information for a pattern of a linetype for the line is acquired. The pattern is stored in a texture by encoding a type of element of the pattern and a texel center location. The GPU renders the line by computing a distance between a pixel of the line and the texel center location, determining if the distance exceeds a threshold, and rendering the pixel if the distance is within the threshold.

Claims (41)

1. A computer-implemented method for rendering a line, comprising:

acquiring, using a central processing unit (CPU), linetype information for a pattern of a linetype for the line, wherein the pattern comprises one or more dots and one or more dashes;

storing, using the CPU, the pattern in a texture by encoding: (i) one or more types of elements of the pattern; and (ii) a texel center location, wherein the texel center location comprises a floating point value;

passing the texture from the CPU to the GPU for rendering of the line;

a graphics processing unit (GPU) rendering the line by:

computing a distance between a pixel of the line and the texel center location;

determining if the distance exceeds a threshold;

rendering the pixel if the distance is within the threshold, wherein the GPU renders the line based on a zoom operation and maintains zoom invariance for the one or more dots while the one or more dashes scale in length.

2. The computer-implemented method of claim 1 , wherein the one or more types of elements of the pattern are selected from a group consisting of a dash, a dot, and a space.

3. The computer-implemented method of claim 1 , wherein the type of element of the pattern and the texel center location are encoded as floating point numbers.

4. The computer-implemented method of claim 1 , further comprising:

ensuring consistency of the pattern across multiple line segments of the line based on a cumulative length of the line across the multiple line segments, a length of each of the multiple line segments, and a length of the pattern.

5. The computer-implemented method of claim 4 , wherein the encoding the texel center location comprises:

encoding a position along the pattern where the one or more types of elements are located.

6. The computer-implemented method of claim 5 , wherein the encoding the position comprises:

encoding the length of each of the multiple line segments.

7. The computer-implemented method of claim 1 , wherein:

the line comprises an ellipse; and

the encoding the texel center location comprises approximating a length based parameter based on approximation techniques.

8. The computer-implemented method of claim 1 , wherein the threshold comprises a number of pixels.

9. A system for rendering a line in a computer system comprising:

(a) a computer having a center processing unit (CPU) and a graphics processing unit (GPU);

(b) the CPU:

(1) acquiring linetype information for a pattern of a linetype for the line, wherein g the pattern comprises one or more dots and one or more dashes;

(2) storing the pattern in a texture by encoding: (i) one or more types of elements of the pattern; and (ii) a texel center location, wherein the texel center location comprises a floating point value;

(3) passing the texture to the GPU for rendering of the line; and

(c) the graphics processing unit (GPU) rendering the line by:

(1) computing a distance between a pixel of the line and the texel center location;

(2) determining if the distance exceeds a threshold; and

(3) rendering the pixel if the distance is within the threshold, wherein the GPU renders the line based on a zoom operation and maintains zoom invariance for a dot in the pattern while the one or more dashes scale in length.

10. The system of claim 9 , wherein the one or more type of elements of the pattern are selected from a group consisting of a dash, a dot, and a space.

11. The system of claim 9 , wherein the type of element of the pattern and the texel center location are encoded as floating point numbers.

12. The system of claim 9 , wherein the GPU is configured to ensure consistency of the pattern across multiple line segments of the line based on a cumulative length of the line across the multiple line segments, a length of each of the multiple line segments, and a length of the pattern.

13. The system of claim 12 , wherein the encoding the texel center location comprises:

encoding a position along the pattern where the moro type of elements located.

14. The system of claim 13 , wherein the encoding the position comprises:

encoding the length of each of the multiple line segments.

15. The system of claim 9 , wherein:

the line comprises an ellipse; and

the encoding the texel center location comprises approximating a length based parameter based on approximation techniques.

16. The system of claim 9 , wherein the threshold comprises a number of pixels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2015
From: JAMES, SEAN P.; RUDOLF, DAVID TIMOTHY; KRISHNASWAMY, RAVINDER PATNAM
To: AUTODESK, INC.
Reel/Frame 036352/0020 →
Continuity (2)
Provisional Application 62023659 · Jul 11, 2014
Related Publication 20160012618A1 · Jan 14, 2016