IP Library Granted Patent US 9,098,938
Granted Patent B2
US 9,098,938 · App. 13/294,146 · Granted Aug 4, 2015

System and method for drawing anti-aliased lines in any direction

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,098,938
App. No.
13/294,146
Granted
Aug 4, 2015
Kind
B2
Abstract

A prerendered line texture stored in memory is used to generate an anti-aliased destination line in any direction to be displayed on a screen. A combination of tiling, stretching, and/or mirroring is used to generate the anti-aliased destination line. A blitter blits a rectangle in the prerendered line texture to a destination rectangle in the frame buffer that is displayed on the screen.

Claims (28)

1. A system to render a line on a screen display, comprising:

a memory;

a frame buffer to store data to be displayed on the screen display;

a processor to create a prerendered line texture having a line segment comprising a plurality of pixels to store in the memory, the processor to generate a source rectangle in the memory and a destination rectangle in a frame buffer that corresponds to at least a portion of a destination line wherein the destination line is a diagonal line having a vertical component and a horizontal component; and

a blitter to blit the prerendered line texture from the source rectangle in the memory to the destination rectangle in the frame buffer, wherein to render the destination line the blitter stretches the prerendered line texture only in a direction corresponding to the longer of the vertical and horizontal components and tiles the entire stretched prerendered line texture only in a direction corresponding to the shorter of the vertical and horizontal components, and wherein the coordinates of the destination rectangle for a particular blit are determined to maintain continuity of the destination diagonal line.

2. The system of claim 1 , wherein the processor determines a number of blits required to generate the destination diagonal line in a direction corresponding to the shorter of the vertical and horizontal components.

3. The system of claim 1 , wherein the processor determines a number of pixels required to be added to each blit to generate the destination diagonal line in a direction corresponding to the longer of the vertical and horizontal components.

4. The system of claim 1 , wherein a plurality of blits is required to generate the destination diagonal line, and for each blit, the processor determines new coordinates in the frame buffer for the destination rectangle to generate the destination diagonal line.

5. The system of claim 1 , wherein the prerendered line texture includes anti-aliasing pixels.

6. The system of claim 5 , wherein an intensity of the anti-aliasing pixels varies as distance of the anti-aliasing pixels from a center of the prerendered line texture.

7. The system of claim 1 , wherein the prerendered line texture has square dimensions.

8. The system of claim 1 , wherein the pixels in the prerendered line texture are rendered in the alpha channel.

9. The system of claim 8 , wherein the pixels in the prerendered line texture default according to a default color for the alpha channel.

10. A method for rendering a destination diagonal line, having a vertical component and a horizontal component, on a screen display, comprising:

storing a prerendered line texture having a line segment and having a plurality of pixels in a memory;

generating a source rectangle in the memory;

generating a destination rectangle in a frame buffer that corresponds to at least a portion of the destination diagonal line to be displayed on the screen display;

determining coordinates for the destination rectangle that maintain continuity of the destination diagonal line; and

blitting the prerendered line texture from the source rectangle in the memory to the destination rectangle in the frame buffer, wherein to render the destination diagonal line the prerendered line texture is stretched only in a direction corresponding to the longer of the vertical and horizontal components and the entire prerendered line texture is tiled only in a direction corresponding to the shorter of the vertical and horizontal components.

11. The method of claim 10 , further comprising determining a number of blits required to generate the destination diagonal line in a direction corresponding to the shorter of the vertical and horizontal components.

12. The method of claim 10 , further comprising determining a number of pixels required to be added to each blit to generate the destination diagonal line in a direction corresponding to the longer of the vertical and horizontal components.

13. The method of claim 10 , further comprising:

determining a number of blits required to generate the destination diagonal line, and for each blit, determining new coordinates in the frame buffer for the destination rectangle to generate the destination diagonal line.

14. The method of claim 10 , further comprising including anti-aliasing pixels in the prerendered line texture.

15. The method of claim 14 , further comprising varying an intensity of the anti-aliasing pixels in accordance with distance of the anti-aliasing pixels from a center of the prerendered line texture.

16. The method of claim 10 , further comprising generating a square-dimensioned prerendered line texture.

17. The method of claim 10 , further comprising rendering the pixels in the prerendered line texture in the alpha channel.

18. The method of claim 17 , further comprising rendering the pixels in the prerendered line texture default according to a default color for the alpha channel.

Assignments (6)
SUCCESSION OF AGENCY IN PATENT SECURITY INTERESTS Recorded Oct 3, 2025
From: UBS AG, STAMFORD BRANCH (AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH)
To: UBS AG, STAMFORD BRANCH
Reel/Frame 072994/0001 →
SECURITY AGREEMENT Recorded Jan 25, 2024
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 066371/0690 →
SECURITY AGREEMENT Recorded Aug 5, 2021
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. AS COLLATERAL AGENT
Reel/Frame 058220/0531 →
SECURITY AGREEMENT Recorded Aug 3, 2021
From: DIRECTV, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 057695/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: THE DIRECTV GROUP, INC.
To: DIRECTV, LLC
Reel/Frame 057028/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2011
From: NEEDHAM, LEYLAND; SCHNEIDER, ANDREW J.; DICK, JUSTIN T.; TRAN, HUY Q.
To: THE DIRECTV GROUP, INC.
Reel/Frame 027353/0146 →