IP Library Granted Patent US 8,830,254
Granted Patent B2
US 8,830,254 · App. 13/357,543 · Granted Sep 9, 2014

Systems and methods for graph 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,830,254
App. No.
13/357,543
Granted
Sep 9, 2014
Kind
B2
Abstract

An exemplary method comprises receiving graph data, generating an edge draw command to draw a first and a second edge as a display object, buffering first and second node positions for first and second sprites, respectively, identifying shader information associated with application of shading of the first sprite and the second sprite, the shader information indicating a change of shade based on distance from a first position and a change of shade based on distance from a second position associated with the second sprite, generating a node draw command to draw at least the first and second sprites, generating a graph shading command to apply shading to at least a portion of the first sprite based and to apply shading to at least a portion of the second sprite based, and providing the edge draw command, node draw command, and graph shading command to a graph execution module.

Claims (54)

1. A method comprising:

receiving, by a processing device, graph data identifying nodes and edges to graph;

generating, by the processing device, an edge draw command to draw at least a first and a second edge as at least a part of a display object based on the received graph data;

buffering, by the processing device, from the received graph data, a first node position for a first sprite associated with the first node position and a second node position for a second sprite associated with the second node position;

identifying, by the processing device, shader information associated with application of shading to at least a portion of the first sprite and at least a portion of the second sprite, the shader information indicating a change of shade based on a distance from a first position associated with the first sprite and a change of shade based on a distance from a second position associated with the second sprite;

generating, by the processing device, a node draw command to draw at least the first and second sprites based on the buffered first and second node positions;

generating, by the processing device, a graph shading command, based at least in part on the identified shader information, to apply shading to the at least the portion of the first sprite based, at least in part, on the distance from the first position associated with the first sprite and to apply shading to the at least the portion of the second sprite based, at least in part, on the distance from the second position associated with the second sprite; and

providing, by the processing device, the edge draw command, the node draw command, and the graph shading command to a graph execution module.

2. The method of claim 1 , further comprising displaying, by the processing device, the first and second edges based on the edge draw command, displaying the first and second sprites based on the node draw command, and displaying shading to the first and second sprites based on the graph shading command.

3. The method of claim 1 , wherein the edge draw command is generated after the node draw command.

4. The method of claim 1 , wherein the graph shading command is further to apply shading to at least the first edge and the second edge, the shader information further indicating a change of shade based on a distance from a first position associated with the first edge and a change of shade based on a distance from a second position associated with the second edge.

5. The method of claim 4 , wherein the application of shading to the at least the first edge and the second edge produces a smoothing effect.

6. The method of claim 4 , wherein the shader information indicates a first color of the change of shade associated with the first edge and a second color of the change of shade associated with the second edge, and the graph shading command is to apply the first color of the change of shade associated with the first edge and the second color of the change of shade associated with the second edge.

7. The method of claim 1 , wherein the shader information indicates a first color of the change of shade associated with the first sprite and a second color of the change of shade associated with the second sprite, and the graph shading command is to apply the first color of the change of shade associated with the first sprite and the second color of the change of shade associated with the second sprite.

8. The method of claim 7 , wherein the graph shading command is further to interpolate a color of the first sprite and a color of the second sprite to color at least a connecting edge.

9. The method of claim 1 , wherein the shader information indicates a glowing effect of shading associated with the first sprite and the second sprite and the graph shading command is to apply the glowing effect of shading associated with the first sprite and the second sprite.

10. The method of claim 1 , further comprising identifying, by the processing device, node size information from the received graph data, the node size information comprising a first size for the first node and a second size for the second node, wherein the shader information indicating the change of shade associated with the first sprite is based, in part, on the first size for the first node, and the shader information indicating the change of shade associated with the second sprite is based, in part, on the second size for the second node.

11. The method of claim 1 , wherein the edge draw command is a command to draw all edges identified in the graph data.

12. The method of claim 1 , wherein the graph shading command is associated with applying shading to all sprites associated with every node identified in the graph data.

13. The method of claim 1 , wherein the display object is a mesh.

14. The method of claim 1 , wherein the draw command and the graph shading command are the same command.

15. A system comprising:

a processor;

a memory;

a graph data module executed by the processor and configured to receive graph data identifying nodes and edges to graph; and

a command generation module executed by the processor and configured to:

generate an edge draw command to draw at least a first and a second edge as at least a part of a display object based on the received graph data;

buffer, from the received graph data, a first node position for a first sprite associated with the first node position and a second node position for a second sprite associated with the second node position;

identify shader information associated with application of shading to at least a portion of the first sprite and at least a portion of the second sprite, the shader information indicating a change of shade based on a distance from a first position associated with the first sprite and a change of shade based on a distance from a second position associated with the second sprite;

generate a node draw command to draw at least the first and second sprites based on the buffered first and second node positions;

generate a graph shading command, based at least in part on the identified shader information;

apply shading to the at least the portion of the first sprite based, at least in part, on the distance from the first position associated with the first sprite and to apply shading to the at least the portion of the second sprite based, at least in part, on the distance from the second position associated with the second sprite; and

provide the edge draw command, the node draw command, and the graph shading command to a graph execution module.

16. The system of claim 15 , wherein the graph execution module is configured to display the first and second edges based on the edge draw command, to display the first and second sprites based on the node draw command, and to display shading to the first and second sprites based on the graph shading command.

17. The system of claim 15 , wherein the command generation module generates the edge draw command after the node draw command.

18. The system of claim 15 , wherein the graph shading command is further to apply shading to at least the first edge and the second edge, the shader information further indicating a change of shade based on a distance from a first position associated with the first edge and a change of shade based on a distance from a second position associated with the second edge.

19. The system of claim 18 , wherein the application of shading to the at least the first edge and the second edge produces a smoothing effect.

20. The system of claim 18 , wherein the shader information indicates a first color of the change of shade associated with the first edge and a second color of the change of shade associated with the second edge, and the graph shading command is to apply the first color of the change of shade associated with the first edge and the second color of the change of shade associated with the second edge.

21. The system of claim 15 , wherein the shader information indicates a first color of the change of shade associated with the first sprite and a second color of the change of shade associated with the second sprite, and the graph shading command is to apply the first color of the change of shade associated with the first sprite and the second color of the change of shade associated with the second sprite.

22. The system of claim 15 , wherein the graph shading command is further to interpolate a color of the first sprite and a color of the second sprite to color at least a connecting edge.

23. The system of claim 15 , wherein the shader information indicates a glowing effect of shading associated with the first sprite and the second sprite and the graph shading command is to apply the glowing effect of shading associated with the first sprite and the second sprite.

24. The system of claim 15 , wherein the shader information indicating the change of shade associated with the first sprite is based, in part, on a first size for the first node, and the shader information indicating the change of shade associated with the second sprite is based, in part, on a second size for the second node.

25. The system of claim 15 , wherein the edge draw command is a command to draw all edges identified in the graph data.

26. The system of claim 15 , wherein the graph shading command is associated with applying shading to all sprites associated with every node identified in the graph data.

27. The system of claim 15 , wherein the display object is a mesh.

28. The system of claim 15 , wherein the draw command and the graph shading command are the same command.

29. A non-transitory computer readable medium comprising instructions, the instructions being executable by a processor for performing a method, the method comprising:

receiving graph data identifying nodes and edges to graph;

generating an edge draw command to draw at least a first and a second edge as at least a part of a display object based on the received graph data;

buffering, from the received graph data, a first node position for a first sprite associated with the first node position and a second node position for a second sprite associated with the second node position;

identifying shader information associated with application of shading to at least a portion of the first sprite and at least a portion of the second sprite, the shader information indicating a change of shade based on a distance from a first position associated with the first sprite and a change of shade based on a distance from a second position associated with the second sprite;

generating a node draw command to draw at least the first and second sprites based on the buffered first and second node positions;

generating a graph shading command, based at least in part on the identified shader information, to apply shading to the at least the portion of the first sprite based, at least in part, on the distance from the first position associated with the first sprite and to apply shading to the at least the portion of the second sprite based, at least in part, on the distance from the second position associated with the second sprite; and

providing the edge draw command, the node draw command, and the graph shading command to a graph execution module.

Assignments (7)
SECURITY INTEREST Recorded Jun 30, 2026
From: SYMPHONYAI SENSA LLC
To: OXFORD FINANCE LLC
Reel/Frame 075136/0001 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2026
From: JPMORGAN CHASE BANK, N.A.
To: SYMPHONYAI LLC; SYMPHONYAI SENSA LLC; SYMPHONYAI INDUSTRIAL DIGITAL MANUFACTURING, INC.
Reel/Frame 075142/0817 →
SECURITY INTEREST Recorded May 1, 2023
From: SYMPHONYAI LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 063501/0305 →
SECURITY INTEREST Recorded Nov 17, 2022
From: SYMPHONYAI LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 061963/0139 →
CHANGE OF NAME Recorded Nov 10, 2022
From: AYASDI AI LLC
To: SYMPHONYAI SENSA LLC
Reel/Frame 061914/0400 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2019
From: AYASDI, INC.
To: AYASDI AI LLC
Reel/Frame 049428/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2012
From: NOON, RYAN
To: AYASDI, INC.
Reel/Frame 028910/0806 →