IP Library Granted Patent US 8,723,875
Granted Patent B2
US 8,723,875 · App. 13/733,641 · Granted May 13, 2014

Web-based graphics rendering system

Inventors: Robin Green (Redwood City, CA); Matthew Papakipos (Palo Alto, CA); Evangelos Kokkevis (Sunnyvale, CA); Gregg Tavares (San Francisco, CA)
Assignee: Google Inc.
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,723,875
App. No.
13/733,641
Granted
May 13, 2014
Kind
B2
Abstract

Some embodiments of the present invention provide a system that renders graphics in a computing system that includes a plugin associated with a web browser in the computing system and a web application configured to execute in the web browser. During operation, the web application specifies a graphics model and provides the graphics model to the plugin. Next, the plugin generates a graphics-processing unit (GPU) command stream from the graphics model. Finally, the plugin sends the GPU command stream to a GPU of the computing system, which renders an image corresponding to the graphics model.

Claims (52)

1. A system for rendering graphics in a computing system, comprising:

a plugin associated with a web browser in the computing system;

a web application configured to execute in the web browser, wherein the web application is configured to:

specify a graphics model; and

provide the graphics model to the plugin; and

wherein the plugin is configured to:

generate a graphics-processing unit (GPU) command stream from the graphics model; and

send the GPU command stream to a GPU of the computing system, wherein an image corresponding to the graphics model is rendered by the GPU.

2. The system of claim 1 , wherein the plugin comprises:

an editing thread configured to:

load the graphics model into a scene graph; and

create a render graph for the graphics model from the scene graph; and

a render thread configured to render the image using the render graph.

3. The system of claim 2 , wherein pipelining is implemented using the editing thread and the render thread.

4. The system of claim 1 , wherein the plugin comprises:

a rendering engine configured to communicate with the GPU using the GPU command stream.

5. The system of claim 4 , wherein the plugin further comprises:

a software renderer configured to render the image using a central processing unit (CPU) of the computing system.

6. The system of claim 1 , wherein the graphics model is specified using at least one of an input file and a method call from the web application to the plugin.

7. The system of claim 6 , wherein the input file is obtained from a server associated with the web application.

8. The system of claim 6 , further comprising:

a plugin interface configured to process the method call from the web application to the plugin.

9. The system of claim 8 , wherein the plugin interface is generated based on an interface description language (IDL) description.

10. The system of claim 1 , wherein the image is rendered within a plugin window associated with the web browser.

11. The system of claim 1 , wherein the web application and the plugin are platform independent.

12. A method for rendering graphics in a computing system, comprising:

loading a web application within a web browser;

specifying a graphics model using the web application;

providing the graphics model to a plugin associated with the web browser;

generating a graphics processing unit (GPU) command stream from the graphics model using the plugin; and

rendering an image corresponding to the graphics model by sending the GPU command stream to a GPU of the computing system.

13. The method of claim 12 , wherein generating the GPU command stream involves:

loading the graphics model into a scene graph;

creating a render graph for the graphics model from the scene graph; and

rendering the image using the render graph.

14. The method of claim 12 , wherein the plugin comprises:

a rendering engine configured to communicate with the GPU using the GPU command stream.

15. The method of claim 14 , wherein the plugin further comprises:

a software renderer configured to render the image using a central processing unit (CPU) of the computing system.

16. The method of claim 12 , wherein the graphics model is specified using at least one of an input file and a method call from the web application to the plugin.

17. The method of claim 16 , wherein the method call from the web application to the plugin is processed using a plugin interface.

18. The method of claim 17 , wherein the plugin interface is generated based on an interface description language (IDL) description.

19. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for rendering graphics in a computing system, comprising:

loading a web application within a web browser;

specifying a graphics model using the web application;

providing the graphics model to a plugin associated with the web browser;

generating a graphics processing unit (GPU) command stream from the graphics model using the plugin; and

rendering an image corresponding to the graphics model by sending the GPU command stream to a GPU of the computing system.

20. The computer-readable storage medium of claim 19 , wherein generating the GPU command stream involves:

loading the graphics model into a scene graph;

creating a render graph for the graphics model from the scene graph; and

rendering the image using the render graph.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044277/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2013
From: GREEN, ROBIN; PAPAKIPOS, MATTHEW; KOKKEVIS, EVANGELOS; TAVARES, GREGG
To: GOOGLE INC.
Reel/Frame 031137/0625 →
Continuity (2)
Continuation 12174586 · Jul 16, 2008
Related Publication 20130120418A1 · May 16, 2013