System, Method, and Computer Program Product for Remote Graphics Processing
First Claim
1. A system comprising:
- a server system including a processor and memory storing one or more programs executable by the processor, the one or more programs including instructions for;
receiving, at a graphics application on the server system, a command from a client, the command related to a graphics rendering operation of the graphics application;
responsive to the command, generating an application programming interface call for producing rendered image data;
receiving, at a remote rendering control system on the server system, the application programming interface call from the graphics application;
modifying a parameter of the application programming interface call based upon a difference between the client and the server in at least one of graphics processing capabilities and graphics contexts;
performing the rendering operation using the modified parameters; and
transmitting the rendered image data to the client for display.
8 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer program product are provided for remote rendering of computer graphics. The system includes a graphics application program resident at a remote server. The graphics application is invoked by a user or process located at a client. The invoked graphics application proceeds to issue graphics instructions. The graphics instructions are received by a remote rendering control system. Given that the client and server differ with respect to graphics context and image processing capability, the remote rendering control system modifies the graphics instructions in order to accommodate these differences. The modified graphics instructions are sent to graphics rendering resources, which produce one or more rendered images. Data representing the rendered images is written to one or more frame buffers. The remote rendering control system then reads this image data from the frame buffers. The image data is transmitted to the client for display or processing. In an embodiment of the system, the image data is compressed before being transmitted to the client. In such an embodiment, the steps of rendering, compression, and transmission can be performed asynchronously in a pipelined manner.
-
Citations
27 Claims
-
1. A system comprising:
a server system including a processor and memory storing one or more programs executable by the processor, the one or more programs including instructions for; receiving, at a graphics application on the server system, a command from a client, the command related to a graphics rendering operation of the graphics application; responsive to the command, generating an application programming interface call for producing rendered image data; receiving, at a remote rendering control system on the server system, the application programming interface call from the graphics application; modifying a parameter of the application programming interface call based upon a difference between the client and the server in at least one of graphics processing capabilities and graphics contexts; performing the rendering operation using the modified parameters; and transmitting the rendered image data to the client for display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method for rendering image data, performed at an electronic device having a processor and memory storing one or more programs executable by the processor, the method comprising:
-
receiving, at a graphics application on a server system, a command from a client, the command related to a graphics rendering operation performable by the graphics application; responsive to the command, generating an application programming interface call for producing rendered image data; receiving, at a remote rendering control system on the server system, the application programming interface call from the graphics application; modifying a parameter of the application programming interface call based upon a difference between the client and the server in at least one of graphics processing capabilities and graphics contexts; performing the rendering operation using the modified parameters; and transmitting the rendered image data to the client for display. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium having stored thereon computer-executable instructions that, responsive to execution by a server system, cause the server system to perform operations comprising:
-
receiving, at a graphics application, a command from a client, the command related to a graphics rendering operation performable by the graphics application; responsive to the command, generating an application programming interface call for producing rendered image data; receiving, at a remote rendering control system, the application programming interface call from the graphics application; modifying a parameter of the application programming interface call based upon a difference between the client and the server in at least one of graphics processing capabilities and graphics contexts; performing the rendering operation using the modified parameters; and transmitting the rendered image data to the client for display. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification